2 // { dg-excess-errors "" { target { ! concepts } } } (PR108972)
5 concept C1 = __is_same_as(T, int)
6 || __is_same_as(T, long long)
7 || __is_same_as(T, char);
10 concept IsNotLarge = !__is_same_as(T, long long);
13 concept IsNotTiny = !__is_same_as(T, char);
15 template<IsNotLarge T>
18 static constexpr auto a = [](auto n) { return n; };
22 return [](auto n) { return n; };
26 using Func = int(*)(int);
30 auto g = []<C1 T> requires IsNotTiny<T>(T t) -> T
31 requires IsNotLarge<decltype(t)> { return t; };
33 g.operator()<int>(5.5);
35 auto z = []<typename T, int N = 5>(T t) requires (N < 4) { return t; };
36 z.operator()<int, 3>(5);
38 [](auto t) requires true { return t; }(5);
39 [](C1 auto t) { return t; }(5);
41 auto a0 = [](IsNotLarge auto a) { return [](auto b){ return b; }; };
45 auto b0 = [](auto a) { return [](IsNotLarge auto b){ return b; }; };
53 foo1.b<long long>()(5);
59 foo2.b<long long>()(5);
61 Func m1 = [](auto a) -> int requires true { return a; };