CVS difference for ai12s/ai12-0140-1.txt

Differences between 1.4 and version 1.5
Log of other versions for file ai12s/ai12-0140-1.txt

--- ai12s/ai12-0140-1.txt	2015/01/23 02:33:05	1.4
+++ ai12s/ai12-0140-1.txt	2015/07/09 01:04:37	1.5
@@ -287,7 +287,8 @@
 > For a counter-example, access-to-incomplete types are always
 > considered that during their full lifetime - that does not change
 > because of visibility. We have special rules that say that they are
-> treated as complete when the completion of the incomplete type is available. (See 3.10.1(2.2/2-2.6/3)).
+> treated as complete when the completion of the incomplete type is available.
+> (See 3.10.1(2.2/2-2.6/3)).
 >
 > We've got rules defining that characteristics behave this way, but
 > whether a type is constrained or not does not appear to be a
@@ -380,5 +381,98 @@
 create those that I can't convince myself that it is impossible.] And of course
 we'd have to be careful that other subtypes don't get sucked into such a special
 rule.
+
+****************************************************************
+
+From: Tucker Taft
+Sent: Friday, June 26, 2015  5:21 PM
+
+I believe we should add (something like) the following, somewhere or other in
+the standard, to resolve AI12-0140:
+
+The *designated subtype* of (a view of) an access type at a given point is
+determined by the view of the designated subtype that is visible at that point,
+except in the case where the designated subtype denoted an incomplete view at
+the point of the declaration of the access type, and the incomplete view was
+part of a limited view of a package. In that case, the designated subtype of
+(a view of) the access type remains this incomplete view at all points that
+are not within the scope of a nonlimited with clause for the package in which
+the type is declared. Within the scope of such a nonlimited with clause, the
+more general rule applies.
+
+****************************************************************
+
+From: Tucker Taft
+Sent: Friday, June 26, 2015  5:27 PM
+
+This might allow us also to remove that complex wording relating to the type of
+a dereference of an access-to-incomplete type.
+
+****************************************************************
+
+From: Bob Duff
+Sent: Friday, June 26, 2015  8:12 PM
+
+> The *designated subtype* of (a view of) an access type at a given 
+> point is determined by the view of the designated subtype that is 
+> visible at that point, except in the case where the designated subtype 
+> denoted an incomplete view at the point of the declaration of the 
+> access type, and the incomplete view was part of a limited view of a 
+> package.  In that case, the designated subtype of (a view of) the 
+> access type remains this incomplete view at all points that are not 
+> within the scope of a nonlimited with clause for the package in which the
+> type is declared.  Within the scope of such a nonlimited with clause, the
+> more general rule applies.
+
+"place".
+
+****************************************************************
+
+From: Randy Brukardt
+Sent: Wednesday, July 8, 2015  7:18 PM
+
+You mentioned this when we were discussing AI12-0003-1 (January 31, 2015);
+I researched it and found that there were 20 normative references to "at
+the place of" and more than 18 normative references to "at the point of" (I
+stopped counting at that point, er place ;-). As such, either is fine, and
+there doesn't seem to be anything to recommend one over the other.
+
+****************************************************************
+
+From: Randy Brukardt
+Sent: Wednesday, July 8, 2015  7:51 PM
+
+> The *designated subtype* of (a view of) an access type at a given 
+> point is determined by the view of the designated subtype that is 
+> visible at that point, except in the case where the designated subtype 
+> denoted an incomplete view at the point of the declaration of the 
+> access type, and the incomplete view was part of a limited view of a 
+> package.  In that case, the designated subtype of (a view of) the 
+> access type remains this incomplete view at all points that are not 
+> within the scope of a nonlimited with clause for the package in which 
+> the type is declared.  Within the scope of such a nonlimited with 
+> clause, the more general rule applies.
+
+I think this would make more sense if it talked about the "view of the
+designated subtype", since the designated subtype itself is surely determined
+solely by the declaration (as defined in 3.10(10)). And it seems to be a
+tautology that the designated subtype is determined by the view of the
+designated subtype (duh!), which is what it currently says. Maybe it would be
+better to start:
+
+   The view of the designated subtype of (a view of) an access type at a given
+   point is the view of the designated subtype that is visible at that point,
+   except in the case ...
+
+I think we have to be clearer than "visible at that point"; I'm not sure what
+kind of visibility you're talking about here.
+
+I'd also worry that this sort of rule would introduce a ripple effect (after
+all, the reason that we have the complex incomplete rules is to avoid a ripple
+effect). Since this is intended to fix issues with static matching (coming from
+confusion about what view an access type uses), one could potentially get a
+ripple effect anywhere that static matching is required on a designated partial
+view. When we get a full proposal for this wording, I'll try to see if there is
+a problem there (it could be FUD).
 
 ****************************************************************

Questions? Ask the ACAA Technical Agent