aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/cpp1z/fold-lambda4.C
blob: b8bae8602adc12447e9fbfb29df658c63fc859c7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// PR c++/90215
// { dg-do compile { target c++17 } }

struct X
{
    template <class F>
    void f(F f)
    {
        f(0);
    }
};

template <class... Xs>
void bug(Xs... xs)
{
    int i;

    [&](auto&... ys)
    {
        (xs.f([&](auto)
        {
            ys;
        }), ...);
    }(i);
}

int main()
{
    bug(X{});
}