H.4.1 Aspect No_Controlled_Parts
Static Semantics
{
AI12-0256-1}
For a type, the following type-related, operational aspect may be specified:
No_Controlled_Parts
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.
Aspect Description for No_Controlled_Parts:
A specification that a type and its descendants do not have controlled
parts.
Legality Rules
{
AI12-0256-1}
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.
{
AI12-0256-1}
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