1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
// { dg-do assemble } template <class A, class B> void foo(); template <class C> class bar { public: int i; template <class B> friend void foo<C,B>(); // { dg-error "" } template-id }; template <class A, class B> void foo() { bar<A> baz; baz.i = 1; bar<int> buz; buz.i = 1; } int main() { foo<void,void>(); foo<int,void>(); }