Hi, fixed by a recent patch of mine, committed to mainline.
Thanks, Paolo. /////////////////
2013-11-15 Paolo Carlini <paolo.carl...@oracle.com> PR c++/58599 * g++.dg/cpp0x/nsdmi-template5.C: New.
Index: g++.dg/cpp0x/nsdmi-template5.C =================================================================== --- g++.dg/cpp0x/nsdmi-template5.C (revision 0) +++ g++.dg/cpp0x/nsdmi-template5.C (working copy) @@ -0,0 +1,38 @@ +// PR c++/58599 +// { dg-do compile { target c++11 } } + +template<int> struct A1; + +template<> struct A1<0> +{ + template<typename, typename...> struct B1 + { + template<typename> int foo1() {} + + int i1 = foo1<int>(); + }; +}; + +template<int> struct A2; + +template<> struct A2<0> +{ + template<typename, typename> struct B2 + { + template<typename> int foo2() {} + + int i2 = foo2<int>(); + }; +}; + +template<int> struct A3; + +template<> struct A3<0> +{ + template<typename> struct B3 + { + template<typename> int foo3() {} + + int i3 = foo3<int>(); + }; +};