1/2
{00326AI95−00326−01} For the first subtype S of a type T declared by an incomplete_type_declaration that is not tagged, the following attribute is defined:
2/2
{00326AI95−00326−01} S'Class
Denotes the first subtype of the incomplete class−wide type rooted at T. The completion of T shall declare a tagged type. Such an attribute reference shall occur in the same library unit as the incomplete_type_declaration.
2.a/2
Reason: {00326AI95−00326−01} This must occur in the same unit to prevent children from imposing requirements on their ancestor library units for deferred incomplete types.
2.b/2
{00326AI95−00326−01} This clause is new. This feature was moved here because the tagged incomplete type provides a better way to provide this capability (it doesn't put requirements on the completion based on uses that could be anywhere). Pity we didn't think of it in 1994.