https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98019
--- Comment #1 from Egor Suvorov <egor_suvorov at mail dot ru> --- Also, I would expect a warning in this case: requires { foo(); // Looks like a statement. }; but not this: requires { static_cast<void>(foo()); }; or this: requires { { foo() }; // expression check without return type requirements };