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

Jason Merrill <jason at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jason at gcc dot gnu.org
         Resolution|---                         |INVALID
             Status|UNCONFIRMED                 |RESOLVED

--- Comment #4 from Jason Merrill <jason at gcc dot gnu.org> ---
(In reply to Jiang An from comment #3)
> (In reply to Andrew Pinski from comment #2)
> > GCC is inconsitent here. with static_assert and constexpr GCC accepts it (PR
> > 87724) while rejects it for noexcept.
> 
> Currently narrowing conversions are still forbidden in noexcept and explicit
> specifiers.
> 
> The inconsistency is acknowledged in C++23 (WG21-P1401R5), but it seems that
> P1401 is not a DR, as the related CWG 2320 is closed as extension. I don't
> know whether we should reject narrowing conversions in static_assert/if
> constexpr in earlier modes.

Narrowing conversions were fine in earlier standards, it was an accidental
change that made them ill-formed, which was fixed.

Clang now also rejects the testcase.

Reply via email to