CVS difference for ai12s/ai12-0378-1.txt
--- ai12s/ai12-0378-1.txt 2020/06/08 00:10:27 1.2
+++ ai12s/ai12-0378-1.txt 2020/06/08 01:39:35 1.3
@@ -1,4 +1,4 @@
-!standard 6.4.1(13/3) 20-06-07 AI12-0378-1/02
+!standard 6.4.1(13/3) 20-06-08 AI12-0378-1/03
!class Amendment 20-04-29
!status work item 20-04-29
!status received 20-03-26
@@ -29,28 +29,25 @@
[Author's Note: Broken into two bullets.]
- * For an access type,[ the formal parameter is initialized from the value
- of the actual, without checking that the value satisfies any constraint,
- any predicate, or any exclusion of the null value;]
+* For an access type, {
- {* if the value is nonnull, satisfies any constraints of the formal,
+ * if the value is nonnull, satisfies any constraints of the formal,
has an accessibility level no deeper than that of the type of the
formal, and, if the designated type is tagged, the tag of the
designated object identifies a type that is covered by the type of
- the formal, the formal parameter is initialized from the value of
+ the formal, then the formal parameter is initialized from the value of
the actual, without checking whether the value satisfies any
predicate;
- * otherwise, the the formal parameter is initialized to the null value
- of the formal type, without checking that the value satisfies any
- predicate or any exclusion of the null value.}
+ * otherwise,} the formal parameter is initialized to the null value
+ of the formal type, without checking that the value satisfies [any
+ constraint,] any predicate[,] or any exclusion of the null value;
- AARM Implementation Note: This rule means that any constraint
+ {AARM Implementation Note: This rule means that any constraint
checks, tag checks, and accessibility checks can be assumed to
pass for an out parameter, but null exclusions and predicates
cannot be assumed unless the compiler can prove that the object
- has been previously written within the subprogram.
-
+ has been previously written within the subprogram.}
!discussion
Questions? Ask the ACAA Technical Agent