CVS difference for ai05s/ai05-0032-1.txt
--- ai05s/ai05-0032-1.txt 2007/05/19 05:10:44 1.2
+++ ai05s/ai05-0032-1.txt 2007/11/07 06:32:42 1.3
@@ -196,3 +196,45 @@
unconstrained subtypes seems like the first step on the road to madness...)
****************************************************************
+
+Summary of a private thread about AI05-0075-1:
+
+The AI has:
+
+A couple of other changes that really should have gone into AI05-0032
+are also included to handle static rejection of cases like
+
+ function Foo return T'Class is
+ type Local_Extension is new T with null record;
+ begin
+ return X : Local_Extension;
+ end Foo;
+
+---
+
+But this case is statically illegal, because "Local_Extension" does not
+have the same type as "T'Class" -- and 6.5(5.2/2) requires that for extended
+return statements (for functions with ordinary subtype returns -- there are
+different rules for access results).
+
+---
+
+But Steve is talking about AI05-0032, which allows
+the return_subtype_indication to determine any
+type that is *covered* by the result type of the
+function.
+
+---
+
+Why? That AI has never been approved. (And thus isn't in *my* AARM.) If it needs
+additional rules in order to work, then those rules need to be in that AI,
+not in some unrelated AI that happens to modify that paragraph. That's
+especially true as AI-32 is an Amendment AI, and may not be implemented for
+years if we don't vote to change the status.
+
+---
+
+Good point, Randy. AI05-0032 should be amended
+instead of adding it to this AI.
+
+****************************************************************
Questions? Ask the ACAA Technical Agent