CVS difference for ais/ai-00229.txt
--- ais/ai-00229.txt 2001/10/09 00:47:09 1.11
+++ ais/ai-00229.txt 2001/10/19 01:36:44 1.12
@@ -1,5 +1,6 @@
-!standard 3.10.2 (32) 01-08-31 AI95-00229/03
+!standard 3.10.2 (32) 01-10-17 AI95-00229/04
!class binding interpretation 00-04-10
+!status ARG approved 7-0-2 01-10-07
!status work item 01-06-12
!status ARG approved 6-0-2 01-05-20
!status work item 01-05-04
@@ -12,8 +13,9 @@
!summary
The expression P'Access (where P denotes a subprogram declared in a generic) is
-illegal within a generic body if the ultimate ancestor of the expected access
-type is not declared within the generic unit.
+illegal within a generic body (or the body of a child unit of the generic) if
+the ultimate ancestor of the expected access type is a generic formal type or
+is not declared within the generic unit.
!question
@@ -64,7 +66,7 @@
If the subprogram denoted by P is declared within a generic unit,
and the expression P'Access occurs within the body of that generic
-unit, or within the body of a generic unit declared within
+unit or within the body of a generic unit declared within
the declarative region of the generic, then the ultimate ancestor
of S shall be a non-formal type declared within the generic unit.
@@ -73,7 +75,7 @@
Evidently we want to disallow the above construct, because dangling references
are a very serious safety issue. However, there is a compatibility issue here,
because there may be code out there that uses access-to-subprogram types in
-conjunction with generics, and whatever solution we come up with could possible
+conjunction with generics, and whatever solution we come up with could possibly
make existing code invalid (even if that code doesn't actually create dangling
references).
@@ -221,7 +223,7 @@
with the designated profile of @i<S>, and shall not be Intrinsic.
If the subprogram denoted by P is declared within a generic unit,
and the expression P'Access occurs within the body of that generic
-unit, or within the body of a generic unit declared within
+unit or within the body of a generic unit declared within
the declarative region of the generic, then the ultimate ancestor
of @i<S> shall be a non-formal type declared within the generic unit.
>
Questions? Ask the ACAA Technical Agent