1 // RUN: %clang_cc1 -std=c++20 -DEXPLICIT -verify %s
2 // RUN: %clang_cc1 -std=c++17 -DEXPLICIT -verify -Wno-c++20-extensions %s
3 // RUN: %clang_cc1 -std=c++14 -verify %s
5 // expected-no-diagnostics
11 f
.template operator()<0>();
17 f
.template operator()<i
>();
28 template <typename F
> void a1(F f
) { f
.operator()(0); }
30 template <typename F
> void b1(F f
) {
31 a1([=](auto i
) { f
.operator()(i
); });
39 const auto lambda
= [&](auto arg1
) {};
40 [&](auto arg2
) { lambda
.operator()(arg2
); }(0);
46 void d1(T x
) { d
.operator()(x
); }
50 template <typename T
> int e1
= [](auto){ return T(); }.operator()(T());