One of the early semantic design decisions of the IPR was to view base-class types as declaring anonymous fields of the derived classes, as documented in the C++ ARM (original C++ semantics documentation). Over the years, that approach has felt at odd with other semantic aspect of the declarative model of the IPR. This patch removes Base_type as a Decl, and instead replaces it with just a specifier for base class layout indicator for semantic interpretations in later interpretations (e,g. object layout, object initialization, etc).
One of the early semantic design decisions of the IPR was to view base-class types as declaring anonymous fields of the derived classes, as documented in the C++ ARM (original C++ semantics documentation). Over the years, that approach has felt at odd with other semantic aspect of the declarative model of the IPR. This patch removes
Base_type
as aDecl
, and instead replaces it with just a specifier for base class layout indicator for semantic interpretations in later interpretations (e,g. object layout, object initialization, etc).Fixes #65