CVS difference for ais/ai-00202.txt

Differences between 1.5 and version 1.6
Log of other versions for file ais/ai-00202.txt

--- ais/ai-00202.txt	1999/06/22 01:44:37	1.5
+++ ais/ai-00202.txt	1999/07/29 00:51:02	1.6
@@ -1,5 +1,6 @@
-!standard 12.05.01 (21)                               99-06-12  AI95-00202/03
+!standard 12.05.01 (21)                               99-07-28  AI95-00202/04
 !class binding interpretation 98-03-27
+!status Corrigendum 2000 99-07-28
 !status WG9 approved 99-06-12
 !status ARG Approved (with changes) 9-0-1  99-03-25
 !status work item 98-10-02
@@ -170,6 +171,39 @@
 operations coming from the ancestor type's own ancestor, so the rule
 applies transitively for arbitrary levels of derivation from formal
 derived types.
+
+!corrigendum 12.05.01(21)
+
+@drepl
+For a formal derived type, the predefined operators and inherited
+user-defined subprograms are determined by the ancestor type, and are
+implicitly declared at the earliest place, if any, within the immediate scope
+of the formal type, where the corresponding primitive subprogram of the
+ancestor is visible (see 7.3.1). In an instance, the copy of such an
+implicit declaration declares a view of the corresponding primitive
+subprogram of the ancestor, even if this primitive has been overridden for
+the actual type. In the case of a formal private extension, however, the tag
+of the formal type is that of the actual type, so if the tag in a call is
+statically determined to be that of the formal type, the body executed will
+be that corresponding to the actual type.
+@dby
+For a formal derived type, the predefined operators and inherited user-defined
+subprograms are determined by the ancestor type, and are implicitly declared at
+the earliest place, if any, within the immediate scope of the formal type, where
+the corresponding primitive subprogram of the ancestor is visible (see 7.3.1).
+In an instance, the copy of such an implicit declaration declares a view of the
+corresponding primitive subprogram of the ancestor of the formal derived type,
+even if this primitive has been overridden for the actual type. When the
+ancestor of the formal derived type is itself a formal type, the copy of the
+implicit declaration declares a view of the corresponding copied operation of
+the ancestor. In the case of a formal private extension, however, the tag of the
+formal type is that of the actual type, so if the tag in a call is statically
+determined to be that of the formal type, the body executed will be that
+corresponding to the actual type.
+
+!ACATS test
+
+Create a C-Test that checks the example given here has the correct behavior.
 
 !appendix
 

Questions? Ask the ACAA Technical Agent