// PR c++/80639 | |
// { dg-do compile { target c++14 } } | |
template < typename > struct A; | |
struct B | |
{ | |
template < int > void m (); | |
template < int > struct K { static void n (); }; | |
void p () { K < 0 >::n (); } | |
}; | |
template <> struct A < B > | |
{ | |
using T = void (A::*)(); | |
template < int u > static constexpr T h = &B::m < u >; // { dg-error "cannot convert" } | |
}; | |
template < int v > void B::K < v >::n () | |
{ | |
using S = A < B >; | |
S::h < 0 >; | |
} |