CVS difference for ais/ai-00004.txt
--- ais/ai-00004.txt 1998/09/30 00:17:06 1.1
+++ ais/ai-00004.txt 1999/07/08 17:25:14 1.2
@@ -1,5 +1,6 @@
-!standard E.2.2 (09) 96-11-16 AI95-00004/05
+!standard E.2.2 (09) 99-07-07 AI95-00004/06
!class binding interpretation 95-06-25
+!status Corrigendum 2000 99-05-24
!status WG9 approved 96-12-07
!status ARG approved 12-0-0 96-10-07
!status ARG approved (subj. ed. rev., letter ballot was 12-0-0) 96-10-03
@@ -11,14 +12,14 @@
!difficulty Medium
!subject Conversions to types derived from remote access types
-!summary 96-09-15
+!summary
Notwithstanding the rule in 3.10(7), a remote access type (unlike other
access types) has no associated storage pool. If a type is derived from
a remote access type, then the derived type is also a remote access
type.
-!question 96-09-15
+!question
NOTE 3.4(31) says, "If the parent type is an access type, then the
parent and the derived type share the same storage pool...". E.2.2(17)
@@ -40,7 +41,7 @@
access types. How can an allocator work for a type that has no storage
pool?
-!recommendation 96-09-15
+!recommendation
Notwithstanding the rule in 3.10(7), a remote access type (unlike other
access types) has no associated storage pool. If a type is derived from
@@ -50,12 +51,12 @@
The restrictions in E.2.2(10-17) apply to types derived from remote
access types.
-!wording 95-06-25
+!wording
Add "A type that is derived from a remote access type is also a remote
access type." at the end of E.2.2(9).
-!discussion 96-09-15
+!discussion
Normally, a derived access type has the same storage pool as its parent.
See AI95-00062, which confirms NOTE 3.4(31). However, the intent of
@@ -64,7 +65,27 @@
either. Querying 'Storage_Pool and 'Storage_Size should be illegal by
E.2.2(17). Similarly, allocators should be illegal.
-!appendix 95-06-25
+!corrigendum E.02.02(9)
+
+@drepl
+An access type declared in the visible part of a remote types or remote
+call interface library unit is called a @i<remote access type>. Such a type
+shall be either an access-to-subprogram type or a general access type that
+designates a class-wide limited private type.
+@dby
+An access type declared in the visible part of a remote types or remote
+call interface library unit is called a @i<remote access type>. Such a type
+shall be either an access-to-subprogram type or a general access type that
+designates a class-wide limited private type. A type that is derived from
+a remote access type is also a remote access type.
+
+!ACATS test
+
+Test(s) are needed. The restrictions for a (derived) remote access type should be
+tested with a B-Test, possibly as added test cases in BXE2011. In addition, a
+C-Test ought to check that these behave as remote access types.
+
+!appendix
!section E.2.2(09)
!section E.2.2(12)
Questions? Ask the ACAA Technical Agent