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

--- Comment #7 from Tomasz KamiƄski <tomaszkam at gmail dot com> ---
>> 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.

Isn't check `typename i<size(t)>;` (that is placed before) guarding the later
requires? It can only pass if size(t) is constant. Or requirements inside
require expr do not short-circuit?

Reply via email to