CVS difference for ai12s/ai12-0030-1.txt
--- ai12s/ai12-0030-1.txt 2013/07/16 23:33:37 1.7
+++ ai12s/ai12-0030-1.txt 2013/07/16 23:51:27 1.8
@@ -1,4 +1,4 @@
-!standard 12.5.1(20/3) 13-07-16 AI12-0030-1/05
+!standard 12.5.1(21/3) 13-07-16 AI12-0030-1/05
!standard 13.13.2(49/2)
!class binding interpretation 12-07-15
!status Amendment 202x 13-07-16
@@ -65,8 +65,7 @@
!recommendation
-Stream attributes act like predefined primitive operations in most contexts,
-so they should act that way in this example as well.
+(See summary.)
!wording
@@ -79,9 +78,12 @@
Append to the end of 13.13.2(49/2):
-In addition to the places where Legality Rules normally apply (see 12.3), this rule
-applies also in the private part of an instance of a generic unit.
+In addition to the places where Legality Rules normally apply (see 12.3), these
+rules also apply in the private part of an instance of a generic unit.
+[Editor's note: We have to use the plural version of this boilerplate text as
+there are two rules in this paragraph, and we want this to apply to both.]
+
For an untagged nonderived type having a task, protected, or explicitly limited record
part, the default implementation of each of the Read, Write, Input, and Output attributes
raises Program_Error and performs no other action.
@@ -105,7 +107,7 @@
However, the wording of the Standard is definitely not clear on this point.
"Availability of stream attributes" is not a characteristic of a type (at least
-it is not listed in 3.4, which is the definition of a "characteristic". So the
+it is not listed in 3.4, which is the definition of a "characteristic"). So the
existing rules don't cover this case.
We could try to define "availability" as a "characteristic" (by adding a new
@@ -142,6 +144,26 @@
part of the generic. Without the boilerplate (and with the rest of the change) this
raises Program_Error. With the boilerplate, this gets caught at compile time, which
is preferable.
+
+!corrigendum 13.13.2(49/2)
+
+@drepl
+An @fa<attribute_reference> for one of the stream-oriented attributes is
+illegal unless the attribute is available at the place of the
+@fa<attribute_reference>. Furthermore, an @fa<attribute_reference> for
+@i<T>'Input is illegal if @i<T> is an abstract type.
+@dby
+An @fa<attribute_reference> for one of the stream-oriented attributes is
+illegal unless the attribute is available at the place of the
+@fa<attribute_reference>. Furthermore, an @fa<attribute_reference> for
+@i<T>'Input is illegal if @i<T> is an abstract type.
+In addition to the places where Legality Rules normally apply (see 12.3),
+these rules also apply in the private part of an instance of a generic unit.
+
+For an untagged nonderived type having a task, protected, or explicitly limited record
+part, the default implementation of each of the Read, Write, Input, and Output attributes
+raises Program_Error and performs no other action.
+
!ACATS test
Questions? Ask the ACAA Technical Agent