CVS difference for ais/ai-00164.txt

Differences between 1.3 and version 1.4
Log of other versions for file ais/ai-00164.txt

--- ais/ai-00164.txt	1998/10/03 04:28:54	1.3
+++ ais/ai-00164.txt	1999/02/08 23:00:54	1.4
@@ -1,22 +1,24 @@
-!standard E.2.2    (09)                               98-04-01  AI95-00164/02
+!standard E.2.2    (09)                               99-02-05  AI95-00164/03
 !class confirmation 98-04-01
 !class binding interpretation 96-10-04
+!status ARG-approved (7-0-0) 98-10-09
 !status work item 98-10-02
 !status received 96-10-04
 !priority High
 !difficulty Easy
 !subject Definition of remote access type
 
-!summary 98-04-01
+!summary 99-02-05
 
-E.2.2(9) is interpreted to permit a remote access to class wide (RACW)
-type to designate a class-wide private extension of limited private type.
+E.2.2(9) is interpreted to permit a remote access-to-class-wide
+type to designate a class-wide private extension of a limited
+private type.
 
-!question 98-04-01
+!question 99-02-05
 
 An interpretation of E.2.2(9) would deny object-oriented programming
-methodology to distributed Ada programmers by not permitting a remote
-access to class wide (RACW) type to designate a class-wide private
+methodology to distributed Ada programmers by not permitting a remote-
+access-to-class-wide (RACW) type to designate a class-wide private
 extension of limited private type.  If this interpretation holds then the
 following example is illegal:
 
@@ -54,27 +56,30 @@
        procedure  Register (new_obj : New_Access);
    end;
 
+Also, while limitedness of the target type is clearly needed, there seems
+to be no reason why the target type needs to be private.
+
 !recommendation 98-04-01
 
 (See summary.)
 
-!wording 98-04-01
+!wording 99-02-04
 
 Add the following phrase to the end of the second sentence of paragraph
-E.2.2(9): "or any number of private extensions."
+E.2.2(9): "or a class-wide private type extension whose ancestors are
+private type extensions and a limited private type."
 
-!discussion 98-04-01
+!discussion 99-02-05
 
 There were two issues raised in this AI:
 * application of RACW to private extension of limited private type
 * removal of restriction on RACW to private types
 
-Regarding the first issue, the intent of E.2.2(9) is not to exclude private
-extensions.  The conclusion that E.2.2(9) denies distributed object
-programming
-seems unwarranted given that typically the designated type is most naturally
-extended in the body of a package where the distributed/remote object is
-declared.
+Regarding the first issue, the intent of E.2.2(9) is not to exclude
+private extensions.  The conclusion that E.2.2(9) denies distributed
+object programming seems unwarranted given that typically the
+designated type is most naturally extended in the body of a package
+where the distributed/remote object is declared.
 
 Regarding the second issue, if E.2.2(9) is relaxed to allow the type to be
 completed in the visible part of the package this would provide additional
@@ -84,13 +89,12 @@
 private is consistent with that placed upon a file type since in each case
 they both provide a handle to some external object.
 
-This AI reverses the decision at Henley meeting (April 97) by retaining the
-restriction that this paragraph apply to only private types (and
-extensions).  This ensures the least surprise to developers when
-non-distributed software modules are subsequently inserted into a
+Retaining the restriction that this paragraph apply to only private
+types (and their extensions) ensures the least surprise to developers
+when non-distributed software modules are subsequently inserted into a
 distributed environment.
 
-!appendix 96-11-16
+!appendix 99-02-08
 
 !section E.2.2(09)
 !subject Definition of remote access type
@@ -266,6 +270,43 @@
 the last year so I may have missed something.
 
 Anthony.
+
+****************************************************************
+
+From: 	Anthony Gargaro
+Sent: 	Sunday, February 07, 1999 8:57 AM
+Subject: 	Re: AI-164, editorially revised
+
+>!wording 99-02-04
+
+>Add the following phrase to the end of the second sentence of paragraph
+>E.2.2(9): "or a class-wide private type extension whose ancestors are
+>private type extensions and a limited private type."
+
+The wording "and a limited private type" should read "of a limited
+private type."
+
+Anthony.
+
+****************************************************************
+
+From: 	Erhard Ploedereder
+Sent: 	Monday, February 08, 1999 5:28 AM
+Subject: 	Re: AI-164, editorially revised
+
+>>!wording 99-02-04
+
+>>Add the following phrase to the end of the second sentence of paragraph
+>>E.2.2(9): "or a class-wide private type extension whose ancestors are
+>>private type extensions and a limited private type."
+
+> The wording "and a limited private type" should read "of a limited
+> private type."
+
+No. The point is that the whole chain of type extensions needs to be
+private and the ultimate ancestor needs to be a limited private type.
+The above was the shortest way to cover that all the ancestors need
+to be private.
 
 ****************************************************************
 

Questions? Ask the ACAA Technical Agent