CVS difference for ai12s/ai12-0351-1.txt
--- ai12s/ai12-0351-1.txt 2020/01/14 05:15:44 1.2
+++ ai12s/ai12-0351-1.txt 2020/01/17 05:59:20 1.3
@@ -1,6 +1,8 @@
-!standard 12.5.1(7) 20-01-10 AI12-0351-1/01
+!standard 12.5.1(7) 20-01-16 AI12-0351-1/02
!class binding interpretation 20-01-10
+!status Amendment 1-2012 20-01-15
+!status ARG Approved 12-0-1 20-01-15
!status work item 20-01-10
!status received 19-11-23
@@ -9,6 +11,9 @@
!subject Matching for actuals for formal derived types
+All actual types have to be statically compatible with the ancestor type
+of a formal derived type without discriminants (even if they are
@@ -32,7 +37,6 @@
package I1 is new G1 (Integer); -- Illegal.
Static compability includes constraints, null exclusions, and predicates.
So, the check
@@ -88,7 +92,8 @@
It might seem that such a change would be incompatible, but we have not been
able to identify any incompatibilities due to applying static compatibility
-to formal derived type matching of unconstrained types.
+to formal derived type matching of unconstrained types, other than the cases
+that need to be illegal.
Note that the original bullets are mutually exclusive, so we preserve that
property by putting the static compatibility requirement into the lead-in
Questions? Ask the ACAA Technical Agent