Syntax:
pragma Type_Invariant ([Entity =>] type_LOCAL_NAME, [Check =>] EXPRESSION);
The Type_Invariant
pragma is intended to be an exact
replacement for the language-defined Type_Invariant
aspect, and shares its restrictions and semantics. It differs
from the language defined Invariant
pragma in that it
does not permit a string parameter, and it is
controlled by the assertion identifier Type_Invariant
rather than Invariant
.