(root)/
gcc-13.2.0/
gcc/
testsuite/
g++.dg/
cpp1y/
lambda-generic-78018.C
// 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)
{
}