http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47346
--- Comment #2 from Dodji Seketeli <dodji at gcc dot gnu.org> 2011-08-11 18:41:53 UTC --- Another variation of the same theme is: class C { struct Private { }; }; template<typename T> struct exploit3 { template<class U = C::Private> struct E {}; }; void bar() { exploit3<int>::E<> e; }