// RUN: %clang_cc1 -fsyntax-only -verify -std=c++20 %s
// expected-no-diagnostics
// Check that we don't crash due to forgetting to check for placeholders
// in the RHS of '.*'.
template <typename Fn>
static bool has_explicitly_named_overload() {
return requires { Fn().*&Fn::operator(); };
}
int main() {
has_explicitly_named_overload<decltype([](auto){})>();
}
template <typename Fn>
constexpr bool has_explicitly_named_overload_2() {
return requires { Fn().*&Fn::operator(); };
}
static_assert(!has_explicitly_named_overload_2<decltype([](auto){})>());