1 // { dg-do assemble } 2 // GROUPS passed visibility 3 template<int K> class B; 4 template<int K> class A {int n; friend class B<K>;}; 5 template<int K> class B {public: void method(A<K>) const;}; method(A<K> X)6 template<int K> void B<K>::method(A<K> X) const {X.n=0;} 7 typedef B<2> B2; 8 9