1 // P0846R0 2 // { dg-do compile } 3 // { dg-options "-std=c++2a" } 4 5 // Don't get confused by these valid cases. 6 7 template <class> 8 class A { 9 template <bool> void b(); 10 void m_fn1(); 11 }; 12 13 template <class T> m_fn1()14void A<T>::m_fn1() { b<>(0); } 15 16 17 template <int> struct X { XX18 X() { fn<>(0); } 19 template <int> void fn(); 20 }; 21 22 a()23template <typename> void a() { a<int>; } 24