https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117515

--- Comment #1 from Jan Schultke <janschultke at googlemail dot com> ---
The issue is not limited to constructors or constructor templates, but seems to
be related to function-style casts containing lambdas inside static_assert:

> static_assert(requires { int([] {}); });

... is rejected with

> <source>:1:15: error: static assertion failed
>     1 | static_assert(requires { int([] {}); });
>       |               ^~~~~~~~~~~~~~~~~~~~~~~~
> <source>:1:15: note: constraints not satisfied
> <source>:1:26: note: the required expression '(int)(<expression error>)' is 
> invalid
>     1 | static_assert(requires { int([] {}); });
>       |                          ^~~~~~~~~~


this is particularly weird because

> bool b = requires { int([] {}); };

... is accepted, so static_assert is in some way related.

Reply via email to