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

Differences between 1.2 and version 1.3
Log of other versions for file 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