CVS difference for ais/ai-00239.txt
--- ais/ai-00239.txt 2000/07/21 00:23:33 1.1
+++ ais/ai-00239.txt 2000/08/01 05:39:34 1.2
@@ -1,5 +1,5 @@
!standard 3.9.2 (18) 00-07-20 AI95-00239/01
-!class binding intrepretation 00-07-20
+!class binding interpretation 00-07-20
!status work item 00-07-20
!status received 00-07-20
!qualifier Error
@@ -16,20 +16,9 @@
Consider the following example:
-package Pkg0 is
-
- type T0 is tagged null record;
-
- function Fa return T0;
-
- procedure Pa (P : in T0 := Pkg0.Fa);
-
-end Pkg0;
-
-with Pkg0;
package Pkg1 is
- type T1 is new Pkg0.T0 with null record;
+ type T1 is tagged null record;
function Fa return T1;
@@ -37,7 +26,7 @@
end Pkg1;
-with Pkg0, Pkg1;
+with Pkg1;
package Pkg2 is
type T2 is new Pkg1.T1 with null record;
@@ -131,7 +120,7 @@
Additionally, the literal reading of the standard means that a call can have
a parameter with the *wrong* tag. Consider the following similar example:
-with Pkg0, Pkg1;
+with Pkg1;
package Pkg3 is
type T3 is new Pkg1.T1 with record
@@ -491,6 +480,39 @@
Report.Result;
end Frn622;
+
+****************************************************************
+
+From: Jean-Pierre Rosen
+Sent: Friday, July 21, 2000 2:36 AM
+
+Ouch...
+My first reaction is: can't we simply state that the call is illegal, precisely because the types do not match?
+After all, using a default value is equivalent (safe for visibility oddities) to writing the default value explicitely, and as you
+note:
+
+****************************************************************
+
+From: Gary Dismukes [dismukes@GNAT.COM]
+Sent: Friday, July 21, 2000 1:13 PM
+
+Not realistically. Such calls were also allowed in Ada 83 for untagged
+derived types. We can't consider creating that kind of incompatibility.
+
+We know what semantics we want for the call, it's just a matter of
+coming up with the proper RM wording to handle it :-)
+
+****************************************************************
+
+From: Randy Brukardt
+Sent: Friday, July 21, 2000 1:28 PM
+
+Well, that would of course be incompatible with untagged types. It would be
+necessary to repeal part of 3.4(22) in order to implement that rule. It also
+would make the rule of 3.9.2(11) unnecessary (so in that case, it should be
+repealed as well, as it is very annoying).
+
+So I don't think that would be an improvement over rewriting 3.9.2(18).
****************************************************************
Questions? Ask the ACAA Technical Agent