CVS difference for ai12s/ai12-0156-1.txt
--- ai12s/ai12-0156-1.txt 2015/11/18 01:23:01 1.8
+++ ai12s/ai12-0156-1.txt 2015/11/19 04:36:02 1.9
@@ -1,8 +1,9 @@
-!standard 5.5.2(2/3) 15-10-09 AI12-0156-1/02
+!standard 5.5.2(2/3) 15-11-18 AI12-0156-1/03
!standard 5.5.2(5/4)
!standard 5.5.2(7/3)
!standard 3.10.2(11.1/2)
!class Amendment 15-02-26
+!status ARG Approved 6-1-1 15-10-17
!status work item 15-02-26
!status received 15-02-13
!priority Medium
@@ -63,9 +64,9 @@
Replace 5.5.2(2/3) with: (Note: square and curly brackets as in syntax, not
wording modifications)
iterator_specification ::=
- defining_identifier [: loop_parameter_subtype_indication] in [reverse] iterator_name
- | defining_identifier [: loop_parameter_subtype_indication] of [reverse] iterable_name
- loop_parameter_subtype_indication ::= subtype_indication | access_definition
+ defining_identifier [: loop_parameter_subtype_definition] in [reverse] iterator_name
+ | defining_identifier [: loop_parameter_subtype_definition] of [reverse] iterable_name
+ loop_parameter_subtype_definition ::= subtype_indication | access_definition
Add to the start of 5.5.2(5/4):
@@ -109,7 +110,7 @@
And add after 3.10.2(11.1/2) as another bulleted list item
The accessibility level of an anonymous access type defined
- by an access_definition of a loop_parameter_subtype_indication
+ by an access_definition of a loop_parameter_subtype_definition
is that of the loop parameter.
!discussion
@@ -120,8 +121,9 @@
we should have done that for object declarations and component declarations
can be argued, but since we have, there should not be places where anonymous
access types cannot be written. Notice that static matching will always fail
-for container element iterators, as the Iterator_Element has to be a "name",
-and that does not include anonymous access types.
+if an access_definition is used for container element iterators, as the
+Iterator_Element has to be a "name", and that does not include anonymous
+access types.
We've revised the accessibility rules to cover these anonymous access types.
We also revised the note describing the accessibility of loop parameters to
@@ -143,7 +145,7 @@
We don't need to allow an access_definition in a generalized iterator, as
the actual type provided to any generic instance (including an instance of
Ada.Iterator_Interfaces) is a subtype_mark; it cannot be an anonymous
-access_definition. We use loop_parameter_subtype_indication anyway, just to
+access_definition. We use loop_parameter_subtype_definition anyway, just to
simplify the wording.
Questions? Ask the ACAA Technical Agent