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

--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> ---
(In reply to Andrew Pinski from comment #2)
> (In reply to Andrew Pinski from comment #1)
> > I want to say b<e>::c::c is not a valid constexpr constructor.  Because
> > b<e>::c's field h's constructor is not constexr.  If that is the case, then
> > should be accepts invalid code.

It's a template. If the constructor doesn't meet the requirements of a
constexpr constructor, then the constexpr specifier is just ignored. So it's
not invalid.

> Or maybe I don't understand constexpr that well :).  e::e() is definitely
> not a valid constexpr though :).

Which is OK because it's not marked constexpr.

Reply via email to