J.11 The Class Attribute of Untagged Incomplete Types
Static Semantics
1/2
2/2
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: {
AI95-00326-01}
This must occur in the same unit to prevent children
from imposing requirements on their ancestor library units for deferred
incomplete types.
Wording Changes from Ada 95
2.b/2
{
AI95-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.
Ada 2005 and 2012 Editions sponsored in part by Ada-Europe