22 lines · cpp
1// RUN: %clang_cc1 -fsyntax-only -verify -std=c++20 %s2// expected-no-diagnostics3 4// Check that we don't crash due to forgetting to check for placeholders5// in the RHS of '.*'.6 7template <typename Fn>8static bool has_explicitly_named_overload() {9 return requires { Fn().*&Fn::operator(); };10}11 12int main() {13 has_explicitly_named_overload<decltype([](auto){})>();14}15 16template <typename Fn>17constexpr bool has_explicitly_named_overload_2() {18 return requires { Fn().*&Fn::operator(); };19}20 21static_assert(!has_explicitly_named_overload_2<decltype([](auto){})>());22