| // PR c++/78018 | |
| // { dg-do compile { target c++14 } } | |
| struct A | |
| { | |
| void f1(); | |
| template <typename F> | |
| void f2(F f); | |
| template<typename T> | |
| void f3(T t); | |
| }; | |
| struct B | |
| { | |
| template<typename L> | |
| void f(L) { } | |
| }; | |
| void A::f1() | |
| { | |
| f2([&] (auto t) { f3(t); } ); | |
| } | |
| template <typename F> | |
| void A::f2(F f) | |
| { | |
| B b; | |
| f(b); | |
| } | |
| template<typename T> | |
| void A::f3(T t) | |
| { | |
| } | |