CVS difference for ai12s/ai12-0345-1.txt
--- ai12s/ai12-0345-1.txt 2020/01/17 05:23:06 1.4
+++ ai12s/ai12-0345-1.txt 2020/01/28 04:49:40 1.5
@@ -37,14 +37,14 @@
!wording
-Modify 3.10.2 (5):
+Modify 3.10.2(5):
Each master, and each entity and view created by it, has an
accessibility level{; when two levels are defined to be the same, the
accessibility levels of the two associated entities are said to be
*tied* to each other}:
-Modify 3.10.2 (7/4):
+Modify 3.10.2(7/4):
An entity or view defined by a declaration and created as part of its
elaboration has the same accessibility level as the innermost master
@@ -54,14 +54,14 @@
entity has the same accessibility level as the master representing
the invocation of the entity.
-Delete AARM 3.10.2(10.d.6/3):
- - when the function has an explicitly aliased parameter.
-
Modify 3.10.2(10.5/3):
If the call itself defines the result of a function to which one of the
above rules applies,{ or has an accessibility level that is tied to the
result of such a function,} these rules are applied recursively;
+Delete AARM 3.10.2(10.d.6/3):
+ - when the function has an explicitly aliased parameter.
+
Delete 3.10.2(13.4/4):
The accessibility level of an explicitly aliased (see 6.1) formal
parameter in a function body is determined by the point of call; it
@@ -202,6 +202,80 @@
The old rule did not apply to this case as it said "used as the return"; here
only a part of the return is used, and that part comes via a dereference.
+
+
+!corrigendum 3.10.2(5)
+
+@drepl
+Each master, and each entity and view created by it, has an accessibility
+level:
+@dby
+Each master, and each entity and view created by it, has an
+accessibility level; when two levels are defined to be the same, the
+accessibility levels of the two associated entities are said to be
+@i<tied> to each other:
+
+!corrigendum 3.10.2(7/4)
+
+@drepl
+@xbullet<An entity or view defined by a declaration and created as part of
+its elaboration has the same accessibility
+level as the innermost master of the declaration
+except in the cases of renaming and derived access types described below.
+Other than for an explicitly aliased parameter of a function or generic function,
+a formal parameter of a callable entity has the same accessibility level as the
+master representing the invocation of the entity.>
+@dby
+@xbullet<An entity or view defined by a declaration and created as part of its
+elaboration has the same accessibility level as the innermost master of the
+declaration except in the cases of renaming and derived access types described
+below. A formal parameter of a callable entity has the same accessibility
+level as the master representing the invocation of the entity.>
+
+!corrigendum 3.10.2(10.5/3)
+
+@drepl
+If the call itself defines the result of a function to which one of the above
+rules applies, these rules are applied recursively;
+@dby
+If the call itself defines the result of a function to which one of the
+above rules applies, or has an accessibility level that is tied to the
+result of such a function, these rules are applied recursively;
+
+!corrigendum 3.10.2(13.4/4)
+
+@ddel
+The accessibility level of an explicitly aliased (see 6.1) formal
+parameter in a function body is determined by the point of call; it
+is the same level that the return object ultimately will have.
+
+!corrigendum 3.10.2(19.2/5)
+
+@ddel
+Inside a return statement that applies to a function or generic function @i<F>,
+or inside the return expression of an expression function @i<F>, when
+determining whether the accessibility level of an explicitly aliased
+parameter of @i<F> is statically deeper than the level of the return object of
+@i<F>, the level of the return object is considered to be the same as that of
+the level of the explicitly aliased parameter; for statically comparing
+with the level of other entities, an explicitly aliased parameter of @i<F> is
+considered to have the accessibility level of a parameter of @i<F> that is
+not explicitly aliased.
+
+!corrigendum 3.10.2(21)
+
+@dinsa
+@xbullet<For determining whether one level is statically deeper than another
+when within the declarative region of a @fa<type_declaration>, the current
+instance of the type is presumed to be an object created at a deeper level
+than that of the type.>
+@dinst
+Notwithstanding other rules given above, the accessibility level of an entity
+that is tied to that of an explicitly aliased formal parameter of an enclosing
+function is considered (both statically and dynamically) to be the same as
+that of an entity whose accessibility level is tied to that of the return object
+of that function.
+
!ASIS
Questions? Ask the ACAA Technical Agent