H.4.1 Aspect No_Controlled_Parts
For a type, the following type-related, operational
aspect may be specified:
The type of this aspect is Boolean. If True, requires
that the type and any descendants do not have any controlled parts. If
specified, the value of the expression shall be static. If not specified,
the value of this aspect is False.
for No_Controlled_Parts: A
specification that a type and its descendants do not have controlled
If No_Controlled_Parts is True for a type, no component
of the type shall have a controlled part nor shall the type itself be
controlled. In addition to the places where Legality Rules normally apply
(see 12.3), this rule also applies in the
private part of an instance of a generic unit.
When enforcing the above rule within a generic
body, a generic formal private type and a generic formal derived type
of a composite type are considered to have a controlled part.
Reason: This is
a typical generic assume-the-worst rule.
Extensions to Ada 2012
Ada 2005 and 2012 Editions sponsored in part by Ada-Europe