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

Patrick Palka <ppalka at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ppalka at gcc dot gnu.org

--- Comment #7 from Patrick Palka <ppalka at gcc dot gnu.org> ---
(In reply to Jonathan Wakely from comment #4)
> It looks like the nested class DataWithStruct::A isn't considered complete
> until after DataWithStruct is complete, but I'm not sure why that is.

Maybe the note in [class.mem.general]/7 is relevant:

  A complete-class context of a nested class is also a complete-class context
of any enclosing class, if the nested class is defined within the
member-specification of the enclosing class.

We can't determine if A is constructible until we parse the initializer for
DataWithStruct::A::number.  And according to the above, we can't parse this
initializer until DataWithStruct is complete.

Looks like PR81359 is closely related.

Reply via email to