http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51203
--- Comment #1 from Pubby8 <pubby.8 at gmail dot com> 2011-11-18 07:53:36 UTC --- Whoops! I seem to have left out the template qualifier. template <typename t> struct foo { template <int n> using next = typename foo<t>::next<n + 1>; template <> using next<10> = int; // not sure if alias templates can be specialized }; int main() { foo<int>::next<1> x; } Although now I am getting a compiler seg fault: main.cpp:5:13: error: explicit specialization in non-namespace scope ‘struct foo<t>’ g++-4.7: internal compiler error: Segmentation fault (program cc1plus)