// { dg-do assemble } | |
template <class T> | |
struct S1 {}; | |
template <class T> | |
void f(T); | |
template <class C> | |
struct S2 | |
{ | |
template <class T> | |
void f<S1<T> >(T) {} // { dg-error "8:non-class, non-variable partial specialization" "" { target c++14 } } | |
// { dg-error "8:non-type partial specialization" "" { target c++11_down } .-1 } | |
}; | |
template <class T> | |
struct S3 | |
{ | |
friend class S2<T>; | |
}; |