CVS difference for ai12s/ai12-0068-1.txt

Differences between 1.4 and version 1.5
Log of other versions for file ai12s/ai12-0068-1.txt

--- ai12s/ai12-0068-1.txt	2014/06/23 23:29:12	1.4
+++ ai12s/ai12-0068-1.txt	2014/07/23 03:35:47	1.5
@@ -1,5 +1,7 @@
-!standard 3.10.2(7/3)                              14-06-23    AI12-0068-1/01
+!standard 3.10.2(7/3)                              14-07-22    AI12-0068-1/02
 !class binding interpretation 13-05-30
+!status Corrigendum 2015 14-07-22
+!status ARG Approved 2-0-6  14-06-28
 !status work item 13-05-30
 !status received 13-04-20
 !priority Medium
@@ -59,8 +61,16 @@
 
   Within an aspect_specification for a type or subtype, the current
   instance represents a value of the type; it is not an object. The
-  nominal subtype of this value is given by the subtype itself, prior to
-  applying any predicate specified directly on the subtype.
+  nominal subtype of this value is given by the subtype itself (the
+  first subtype in the case of a type_declaration), prior to applying
+  any predicate specified directly on the type or subtype. If the type or
+  subtype is by-reference, the associated object with the value is the
+  object associated (see 6.2) with the execution of the usage name.
+
+  AARM Ramification: For the purposes of Legality Rules, the current
+  instance acts as a value within an aspect_specification. It might
+  really be an object (and has to be for a by-reference type), but
+  that isn't discoverable by direct use of the name of the current instance.
 
 !discussion
 
@@ -93,6 +103,29 @@
 even using object attributes within a predicate are illegal.
 For instance, 'Size, 'Alignment, 'Access, and 'Address are all illegal
 as their prefix does not denote an object.
+
+!corrigendum 8.6(17/3)
+
+@dinsa
+@xbullet<If a usage name appears within the declarative region of a
+@fa<type_declaration> and denotes that same @fa<type_declaration>, then it
+denotes the @i<current instance> of the type (rather than the type itself);
+the current instance of a type is the object or value of the type that is
+associated with the execution that evaluates the usage name. Similarly, if a
+usage name appears within the declarative region of a @fa<subtype_declaration>
+and denotes that same @fa<subtype_declaration>, then it denotes the current
+instance of the subtype. These rules do not apply if the usage name appears
+within the @fa<subtype_mark> of an @fa<access_definition> for an
+access-to-object type, or within the subtype of a parameter or result of an
+access-to-subprogram type.>
+@dinst
+@xindent<Within an @fa<aspect_specification> for a type or subtype, the
+current instance represents a value of the type; it is not an object. The
+nominal subtype of this value is given by the subtype itself (the
+first subtype in the case of a @fa<type_declaration>), prior to applying
+any predicate specified directly on the type or subtype. If the type or
+subtype is by-reference, the associated object with the value is the
+object associated (see 6.2) with the execution of the usage name.>
 
 !ACATS Test
 

Questions? Ask the ACAA Technical Agent