1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
// Build don't link: // Special g++ Options: // Origin: Mark Mitchell <mark@codesourcery.com> void X(); template <class T> struct J { typedef T X; }; template <class T> struct S { typedef T X; struct I : public J<X> { static X* f(); }; }; S<int> si;