1 // PR c++/42328 2 3 template<typename T, typename U> 4 class freeList 5 { 6 public: foo()7 void foo() {}; 8 }; 9 10 class bar {}; 11 12 class baz : protected freeList<bar, baz> 13 { 14 template<typename T> 15 friend 16 void freeList<T, baz>::foo(); // { dg-error "friend" } 17 }; 18 19 baz b; 20