CVS difference for ais/ai-00331.txt

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

--- ais/ai-00331.txt	2004/04/06 19:57:12	1.3
+++ ais/ai-00331.txt	2004/12/09 19:55:30	1.4
@@ -1,5 +1,7 @@
-!standard  10.01.01  (19)                              04-03-08  AI95-00331/01
+!standard  10.01.01  (19)                              04-11-30  AI95-00331/02
 !class binding interpretation 03-07-22
+!status Amendment 200Y 04-11-30
+!status ARG Approved 8-0-2  04-11-21
 !status work item 04-03-08
 !status received 03-04-07
 !priority Low
@@ -49,7 +51,7 @@
 This clause makes the second instantiation, marked "OK", legal. Pak1.Pak2
 is a child of a parent generic package Pak1. New_Pak1 is an instance of Pak1.
 Therefore, by this clause, there is a corresponding declaration Pak2 nested
-immediately within New_Pak1.  This corresponding declaration, New_Pak1.Pak2,
+immediately within New_Pak1. This corresponding declaration, New_Pak1.Pak2,
 is visible because of the with clause that mentions Pak1.Pak2.
 
 However, the same logic can't be applied to make the third instantiation
@@ -74,21 +76,17 @@
 
 For each declaration or renaming of a generic unit as a child of some
 parent generic package, there is a corresponding declaration nested
-immediately within each instance of the parent.  This declaration is visible
+immediately within each instance of the parent. This declaration is visible
 only within the scope of a with_clause that mentions the child generic unit.
 
 with
 
-For each declaration or renaming of a generic unit as a child of some
-parent generic package, there is a corresponding declaration nested
-immediately within {the visible part of} each instance of the parent.
-{Similarly, nested immediately within each instance of such a corresponding
-declaration for a generic child package, there is a corresponding declaration
-for each child of that generic child package.} {Such a corresponding generic
-declaration} is visible only within the scope of a with_clause that mentions
-the child generic unit.
-
-(Question: Does 12.2(2) require any modification?  Any other paragraphs?)
+For each child C of some parent generic package P, there is a corresponding
+declaration C nested immediately within each instance of P. For the purposes of
+this rule, if a child C itself has a child D, each corresponding declaration
+for C has a corresponding child D. The corresponding declaration for a child
+within an instance is visible only within the scope of a with_clause that
+mentions the (original) child generic unit.
 
 !discussion
 
@@ -96,21 +94,30 @@
 child units declared deeper than one level below a parent generic unit.
 However, the current wording of 10.1.1(19) is insufficient to allow
 such instantiations because it only defines corresponding declarations
-appearing within instances of a generic child's parent unit.  The problem
+appearing within instances of a generic child's parent unit. The problem
 is that once the generic child unit is deeper than the second level,
 the parent generic unit is itself a child, and there are no (direct)
-instances of that parent.  Rather, there can only be instances of a
-corresponding declaration of the parent generic.  This is addressed by
-the addition of a rule that further specifies corresponding declarations
-of generic child units as occurring within instances of their parent
-generic's corresponding declarations.
-
-An additional correction is to clarify that a generic child's corresponding
-declaration occurs within the visible part of an instance associated with
-the parent (rather than in some other location, such as within the private
-part).
+instances of that parent. Rather, there can only be instances of a
+corresponding declaration of the parent generic. This is addressed by
+the addition of a clarifying rule that specifies that a corresponding
+declaration has corresponding child units.
 
---!corrigendum 10.01.01(19)
+!corrigendum 10.01.01(19)
+
+@drepl
+For each declaration or renaming of a generic unit as a child of some
+parent generic package, there is a corresponding declaration nested
+immediately within each instance of the parent. This declaration is visible
+only within the scope of a @fa<with_clause> that mentions the child generic
+unit.
+@dby
+For each child @i<C> of some parent generic package @i<P>, there is a
+corresponding declaration @i<C> nested immediately within each instance
+of @i<P>. For the purposes of this rule, if a child @i<C> itself has a
+child @i<D>, each corresponding declaration for @i<C> has a corresponding
+child @i<D>. The corresponding declaration for a child within an instance is
+visible only within the scope of a @fa<with_clause> that mentions the
+(original) child generic unit.
 
 !ACATS test
 

Questions? Ask the ACAA Technical Agent