On Tue, Nov 21, 2023 at 06:17:02PM +0100, Jakub Jelinek wrote:
> The
> static_assert (false, "foo"_myd);
> in the new testcase shows where it is valid (in C++26 and as extension in
> older standards).  For C++26 we could use unevaluated string literal rather
> than string literal in the wording, but C++23 and earlier don't have that,
> so we would need to say something like non user-defined string literal without
> encoding prefix or object with 'size' and 'data' members.

Or do you want to just use
          error_at (location, "%<static_assert%> message must be a "
                              "unevaluated string literal or object with "
                              "%<size%> and %<data%> members");
wording (even when it is in C++26 term) regardless of the -std= level?

        Jakub

Reply via email to