aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/cpp2a/lambda-uneval17.C
blob: 74e0f876371d500a81a75cfd4f48c27ca0129550 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// PR c++/99209
// { dg-do compile { target c++20 } }

constexpr char f(...) = delete;
constexpr decltype(auto) f_adl(auto a) { return f(a); }

namespace A {
    constexpr char f(auto) { return 'A'; }
    template<char TemplateParam = f_adl([]{})> void g(char FunctionParam = f_adl([]{})) {
        char Local = f_adl([]{});
    }
}

namespace B {
    constexpr char f(auto) = delete;
    void call() { A::g(); }
}