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

--- Comment #6 from Patrick Palka <ppalka at gcc dot gnu.org> ---
The error

  error: template argument 2 is invalid

is a parse error that's ultimately caused by PR104255, I think. If we fix this
parse error the example should hopefully constexpr evaluate OK with our P2280
support.

> I also added a 'size(t) > 0' check and a check for a type that is not 
> statically sized, where the concept shouldn't become ill-formed either.

FWIW I think GCC is correct to diagnose this due to
https://eel.is/c++draft/temp.constr#atomic-3, which mandates that an atomic
constraint after substitution yields a constant expression of type bool, but
here it's non-constant.

Reply via email to