CVS difference for ais/ai-00047.txt

Differences between 1.1 and version 1.2
Log of other versions for file ais/ai-00047.txt

--- ais/ai-00047.txt	1998/09/30 00:17:10	1.1
+++ ais/ai-00047.txt	1999/08/20 03:59:43	1.2
@@ -1,18 +1,19 @@
-!standard E.2.2    (14)                               96-02-06  AI95-00047/03
+!standard E.2.2    (14)                               99-08-17  AI95-00047/04
 !class binding interpretation 95-06-25
+!status Corrigendum 2000 99-08-17
 !status WG9 approved 95-06-14
 !status ARG approved (subject to editorial review) 7-0-2  95-11-01
 !status received 95-06-25
 !subject {user-defined} Read and Write attributes
 
-!summary 95-06-25
+!summary
 
 Consider a remote access-to-classwide type, whose corresponding specific
 type is T, and a primitive subprogram P of T.  For each non-controlling
 parameter of P, if its type is limited, it must have user-defined 'Read
 and 'Write operations.
 
-!question 95-06-25
+!question
 
 E.2.2(14) says, "... the types of all the noncontrolling formal
 parameters shall have Read and Write attributes."
@@ -22,14 +23,16 @@
 (That would be a strange requirement for, say, a parameter of type
 Integer, but the obvious alternative interpretation also seems strange.)
 
-!recommendation 95-06-25
+!recommendation
 
 (See summary.)
 
-!wording 95-06-25
+!wording
 
-!discussion 95-06-25
+(See corrigendum.)
 
+!discussion
+
 The intent of E.2.2(14) is to require that every non-controlling
 parameter have 'Read and 'Write operations that can be called.  Although
 'Read and 'Write always *exist* by 13.13.2(2), it is illegal to call
@@ -77,9 +80,27 @@
 designated by X.  We need to transfer the value of L to that partition,
 which would be impossible if Lim did not have user-defined Read and
 Write attributes.
+
+!corrigendum E.02.02(14)
+
+@drepl
+@xbullet<The primitive subprograms of the corresponding specific limited private
+type shall only have access parameters if they are controlling formal
+parameters; the types of all the non-controlling formal parameters shall
+have Read and Write attributes.>
+@dby
+@xbullet<The primitive subprograms of the corresponding specific limited private
+type shall only have access parameters if they are controlling formal
+parameters; each non-controlling formal parameter shall have either a
+non-limited type or a type with Read and Write attributes specified via an
+@fa<attribute_definition_clause>.>
 
-!appendix 95-10-21
+!ACATS test
 
+ACATS test BXE2012 covers this rule.
+
+!appendix
+
 !section E.2.2(14)
 !subject {user-defined} Read and Write attributes
 !reference RM95-E.2.2(14);6.0
@@ -137,6 +158,23 @@
 As mention in the discussion "the wording of 13.13.2(2) is misleading."  I
 think we should revise this wording to avoid discussing attributes that exist
 but that cannot be used...
+
+
+****************************************************************
+
+!from Randy Brukardt 99-08-17
+
+While some of the E-Mail suggested rewriting 13.13.2(2), I think that is more
+likely to cause problems than it could be worth; 13.13.2(36) is clear enough.
+
+So, I reworded E.2.2(14) to say exactly what we want: any non-controlling
+parameters with a limited type must have user-defined Read and Write attributes.
+
+Note that I didn't use the term "user-defined", because it is not defined in
+this context (we have user-defined assignment and user-defined operators, but
+not user-defined attributes).
+
+****************************************************************
 
 
 ****************************************************************

Questions? Ask the ACAA Technical Agent