Version 1.1 of ai05s/ai05-0093-1.txt
!standard 3.3(23.4/3) 08-05-15 AI05-0093-1/01
!standard 7.5(8.7/2)
!class binding interpretation 08-05-15
!status work item 08-05-15
!status received 06-05-13
!priority Low
!difficulty Medium
!qualifier Omission
!subject Additional rules that need to use "immutably limited"
!summary
Additional rules should use "immutably limited".
!question
Now that AI05-0052 has defined the term "immutably limited", are there
other places in the RM where that term should be used? (yes.)
!wording
In 3.3(23.4/3) (in the definition of "known to be constrained", text added by
AI05-0008-1), replace
its type is a protected type, a task type, or an explicitly limited
record type; or
with
its type is immutably limited; or
In 7.5(8.7/2), replace
For a function_call of a type with a part that is of a task, protected,
or explicitly limited record type that is used to initialize an object
as allowed above, the implementation shall not create a separate return
object (see 6.5) for the function_call.
with
For a function_call of an immutably limited type that is used to initialize
an object as allowed above, the implementation shall not create a separate
return object (see 6.5) for the function_call.
In AARM 12.3(11.p/2), replace
A type with a default_expression of an access discriminant has to be
a descendant of an explicitly limited record type a type declared with
limited, or be a task or protected type.
with
A type with a default_expression of an access discriminant has to be
immutably limited.
!discussion
This is semantics-preserving cleanup.
These changes are not intended to have any impact on implementations.
Should AARM 10.2.1(28.e/2) be changed to use the term "immutably limited"?
[No. The note should say something about a component that doesn't have
available stream attributes, that is not clear; otherwise, it is specifically
enumerating Ada 95 cases that would fail. - Editor.]
Following the example of 3.10(9/3), we do not say "(see 7.5)" when the term
"immutably limited" is used in sections which precede its definition in 7.5.
--!corrigendum 3.4(23.4/3)
!ACATS Test
Since there is no intended semantics change, no additional ACATS tests are needed.
!appendix
****************************************************************
Questions? Ask the ACAA Technical Agent