CVS difference for ai05s/ai05-0006-1.txt
--- ai05s/ai05-0006-1.txt 2008/05/22 05:23:02 1.5
+++ ai05s/ai05-0006-1.txt 2008/07/08 03:33:26 1.6
@@ -1,6 +1,7 @@
-!standard 3.5.1(6) 08-05-21 AI05-0006-1/05
+!standard 3.5.1(6) 08-07-07 AI05-0006-1/06
!standard 4.1.4(9)
!class binding interpretation 07-11-10
+!status ARG Approved 8-0-0 08-06-21
!status work item 08-05-21
!status ARG Approved 8-0-1 06-11-10
!status work item 06-03-17
@@ -34,9 +35,8 @@
!recommendation
Define nominal subtypes for names that lack a well-defined subtype,
-to be the base subtype or the first subtype, as appropriate.
-This includes references to certain attributes and calls on
-enumeration literals and attribute functions.
+to be an appropriate subtype. This includes references to certain attributes
+and calls on enumeration literals and attribute functions.
!wording
@@ -79,12 +79,10 @@
definition of attributes such as Input; see 4.5.1.
AARM TO BE HONEST:
- We don't worry about the fact that "base subtype" or "first subtype"
+ We don't worry about the fact that "base subtype"
is not explicitly defined for the universal types. Since it is
not possible to constrain a universal numeric type, all subtypes
are unconstrained, and hence can be considered base subtypes.
- Similarly, since it is not possible to define a subtype of the
- universal access type, all subtypes are considered first subtypes.
The wording above could be altered to bypass this issue, but it
doesn't seem necessary, since universal integer is handled
specially in the rules for case expression full coverage, and
@@ -104,11 +102,10 @@
to make sure that all names that denote values or objects have
well-defined nominal subtypes. Here we follow the lead from the existing
language-defined attribute functions such as 'Input, which return
-the base subtype or the first subtype, depending on whether or not
-the result type is scalar, to choose the same rule in general.
+the italicized T subtype (see AARM 4.5.1(3.c-3.i)).
For attribute functions, we allow for the possibility that the
result subtype is specified explicitly to be other than the
-base or first subtype.
+italicized T subtype specified by this rule.
We considered defining this only for static expressions, since in
a case expression, the base subtype is already specified when the
Questions? Ask the ACAA Technical Agent