PR c++/56973, DR 696 - capture constant variables only as needed.
[official-gcc.git] / gcc / testsuite / g++.dg / cpp1y / fn-generic-member-ool.C
blob60ac52eff5bba671a3285ac8adf6b543e33c6edf
1 // Out-of-line generic member function definitions.
2 // { dg-do compile { target c++14 } }
3 // { dg-options "" }
5 struct A {
6   void f(auto x);
7 };
9 void A::f(auto x) {}  // injects a new list
11 template <typename T>
12 struct B {
13   void f(auto x);
16 template <typename T>
17 void B<T>::f(auto x) {}  // injects a new list
19 struct C {
20   template <int N>
21   void f(auto x);
24 template <int N>
25 void C::f(auto x) {}  // extends existing inner list
27 template <typename T>
28 struct D
30   template <int N>
31   void f(auto x);
34 template <typename T>
35 template <int N>
36 void D<T>::f(auto x) {}  // extends existing inner list