1 // PR c++/53403 2 3 template <typename T> 4 class Foo 5 { 6 typedef void type; 7 template <typename U> friend void f(); 8 public: Foo()9 Foo() {} 10 }; 11 12 template class Foo<void>; 13 14 template <typename T> f()15void f() 16 { 17 typedef Foo<void>::type type; 18 } 19 main()20int main() 21 { 22 f<void>(); 23 } 24