CVS difference for ai05s/ai05-0041-1.txt

Differences between 1.3 and version 1.4
Log of other versions for file ai05s/ai05-0041-1.txt

--- ai05s/ai05-0041-1.txt	2007/08/21 23:28:49	1.3
+++ ai05s/ai05-0041-1.txt	2008/02/05 06:29:01	1.4
@@ -1,4 +1,4 @@
-!standard 3.7.1(7/2)                                          07-08-20    AI05-0041-1/03
+!standard 3.7.1(7/2)                                          08-02-04    AI05-0041-1/04
 !standard 4.8(6/2)
 !class binding interpretation 07-03-27
 !status work item 07-03-27
@@ -65,39 +65,45 @@
 
 Change the new text for 3.3(23.9/3) from AI05-0008-1 as follows:
 
-* it is a dereference of a pool-specific access type, and there is
-  no {ancestor of its type that has a} partial view [of its type]
-  that is constrained.
+  * it is a dereference of a pool-specific access type, and there is
+    no {ancestor of its type that has a constrained} partial view [of its
+    type that is constrained].
 
 Change the new text for 3.3(23.10/3) from AI05-0008-1 as follows:
 
-For the purposes of determining within a generic body whether an
-object is known to be constrained, a subtype is not considered
-indefinite {and is considered to have a partial view that is constrained}
-if it is a descendant of an untagged generic formal derived type, nor
-is an access type considered pool-specific if it is a descendant of a
-formal access type.
+  For the purposes of determining within a generic body whether an
+  object is known to be constrained:
 
+     * if a subtype is a descendant of an untagged generic formal
+       derived type, it is not considered indefinite and is considered to
+       have a constrained partial view;
 
+     * if a subtype is a descendant of a formal access type, it is not
+       considered pool-specific.
+
 Change 3.7.1(7/2) as follows:
 
-... However, in the case of an access subtype,
-a discriminant_constraint is illegal if the designated type has {an ancestor
-which has} a partial view that is constrained or, for a general access
-subtype, has default_expressions for its discriminants. In addition to
-the places where Legality Rules normally apply (see 12.3), these rules
-apply also in the private part of an instance of a generic unit. In a
-generic body, this rule is checked presuming all formal access types of
-the generic might be general access types, {all formal derived types have
-partial views that are constrained, }and all untagged discriminated formal
-types of the generic might have default_expressions for their discriminants.
+   ... However, in the case of an access subtype, a
+   discriminant_constraint is illegal if the designated type has {an
+   ancestor that has} a {constrained} partial view [that is constrained]
+   or, for a general access subtype, has default_expressions for its
+   discriminants. In addition to the places where Legality Rules
+   normally apply (see 12.3), these rules apply also in the private part
+   of an instance of a generic unit. In a generic body, this rule is
+   checked presuming all formal access types of the generic might be
+   general access types, {all untagged generic formal derived types have
+   constrained partial views,} and all untagged discriminated formal
+   types of the generic might have default_expressions for their
+   discriminants.
 
 Change 4.8(6/2) as follows:
 
-... If the designated type is composite, then the subtype of the created object
-is the designated subtype when the designated subtype is constrained or there
-is {an ancestor which has} a partial view of the designated type that is
-constrained; otherwise, the created object is constrained by its initial value ...
+   ... If the designated type is composite, then the subtype of the
+   created object is the designated subtype when the designated subtype
+   is constrained or there is {an ancestor of the designated type that
+   has} a {constrained} partial view [of the designated type that is
+   constrained]; otherwise, the created object is constrained by its
+   initial value ...
 
 !discussion
 
@@ -862,5 +868,38 @@
 This is illegal with a tweaking of the existing (AI05-0008) assume-the-worst rule
 for renames ("known to be constrained"). We may need to discuss if this tweaking
 is too draconian, but I doubt it personally.
+
+****************************************************************
+
+From: Tucker Taft
+Date: Monday, February 4, 2008  11:32 PM
+
+Here is the last AI I'll be submitting before the meeting.
+It attempts to follow through on the changes specified in the
+minutes.  I was supposed to "try to figure out what
+the rules ought to be" but I'm not sure I still
+remember all of the issues.  This may take another
+round of discussion. [This is version /04 - ED]
+
+****************************************************************
+
+From: Randy Brukardt
+Date: Tuesday, February 5, 2008  12:24 AM
+
+> Here is the last AI I'll be submitting before the meeting.
+
+Good, 'cause the deadline was 7 hours ago, and I'm about to upload
+the AI package for the meeting to the web site.
+
+> It attempts to follow through on the changes specified in the
+> minutes.  I was supposed to "try to figure out what
+> the rules ought to be" but I'm not sure I still
+> remember all of the issues.  This may take another
+> round of discussion.
+
+My recollection was that you and Bob wanted to except (known) tagged
+types from *all* of the rules about constrained partial views. Not just
+for generic formal types. Maybe that isn't possible for regular tagged
+types, but it would be helpful to have some proof of that.
 
 ****************************************************************

Questions? Ask the ACAA Technical Agent