// Out-of-line generic member function definitions. // { dg-do compile { target c++1y } } // { dg-options "" } struct A { void f(auto x); }; void A::f(auto x) {} // injects a new list template struct B { void f(auto x); }; template void B::f(auto x) {} // injects a new list struct C { template void f(auto x); }; template void C::f(auto x) {} // extends existing inner list template struct D { template void f(auto x); }; template template void D::f(auto x) {} // extends existing inner list