CVS difference for ai05s/ai05-0196-1.txt

Differences between 1.2 and version 1.3
Log of other versions for file ai05s/ai05-0196-1.txt

--- ai05s/ai05-0196-1.txt	2010/02/04 07:11:43	1.2
+++ ai05s/ai05-0196-1.txt	2010/02/04 23:33:14	1.3
@@ -1,4 +1,4 @@
-!standard  6.4.1(13)                                 10-02-03  AI05-0196-1/01
+!standard  6.4.1(13)                                 10-02-04  AI05-0196-1/02
 !class binding interpretation 10-02-03
 !status work item 10-02-03
 !status received 09-12-09
@@ -16,15 +16,18 @@
 
 Does the following program raise Constraint_Error? (No.)
 
-procedure M is
-   type Integer_Access is access all Integer;
-   procedure X (Y : out not null Integer_Access) is
+   procedure M is
+      type Integer_Access is access all Integer;
+
+      procedure X (Y : out not null Integer_Access) is
+      begin
+         Y := new Integer;
+      end X;
+
+      A : Integer_Access; -- initially null
    begin
-      Y := new Integer;
-   end X;
-   A : Integer_Access; -- initially null begin
-   X (A); -- Raise Constraint_Error here?
-end M;
+      X (A); -- Raise Constraint_Error here?
+   end M;
 
 That is, when passing an OUT mode parameter, is the implementation supposed to
 do a not-null check on the way in? (No.)
@@ -43,10 +46,11 @@
 
 !discussion
 
-It would be weird and unfriendly if the prior value of the actual parameter for
-an OUT parameter. There is no guarantee that an OUT parameter of an access type
-satisfies any access subtype constraint that applies to the formal, so there
-seems no reason to expect it to satisfy any null exclusion that might apply.
+It would be weird and unfriendly if the prior value of the actual parameter 
+mattered for an OUT parameter. There is no guarantee that an OUT parameter of
+an access type satisfies any access subtype constraint that applies to the formal,
+so there seems no reason to expect it to satisfy any null exclusion that might
+apply.
 
 --!corrigendum 13.13.2(1.2/2)
 
@@ -236,7 +240,8 @@
 From: Tucker Taft
 Sent: Thursday, December 10, 2010  2:48 PM
 
-"satisfies" *is* defined for null exclusions.  See last sentence of 3.10(15/2).  So I think the simplest might be:
+"satisfies" *is* defined for null exclusions.  See last sentence of 3.10(15/2).
+So I think the simplest might be:
 
    For an access type, the formal parameter is initialized from the value of the
    actual, without [a constraint check]{checking whether the value satisfies any

Questions? Ask the ACAA Technical Agent