CVS difference for ais/ai-00401.txt

Differences between 1.7 and version 1.8
Log of other versions for file ais/ai-00401.txt

--- ais/ai-00401.txt	2005/10/31 05:18:41	1.7
+++ ais/ai-00401.txt	2005/11/16 06:51:17	1.8
@@ -1,4 +1,4 @@
-!standard 3.4(01)                                      05-10-27  AI95-00401/05
+!standard 3.4(01)                                      05-11-15  AI95-00401/06
 !standard 3.4(03)
 !standard 3.4(05)
 !standard 3.4(08)
@@ -179,8 +179,22 @@
 subprograms from its parent type {and its progenitor types} (see 3.4).
 
 
-Add after 7.3(20):
+Change 7.3(20) to read:
 
+The ancestor type specified in a private_extension_declaration and the
+parent type specified in the corresponding declaration of a record extension
+given in the private part need not be the same. If the ancestor
+type is not an interface type, the parent type of the full view can be
+any descendant of the ancestor type. In this case, for a primitive
+subprogram that is inherited from the ancestor type and not overridden, the
+formal parameter names and default expressions (if any) come from the
+corresponding primitive subprogram of the specified ancestor type, while the
+body comes from the corresponding primitive subprogram of the parent type of
+the full view. See 3.9.2.
+
+Similarly, if the ancestor type is an interface type, the parent type can be
+anything so long as the full view is a descendant of the ancestor type.
+
 The progenitor types specified in a private_extension_declaration and the
 progenitor types specified in the corresponding declaration of a record
 extension given in the private part need not be the same -- the only
@@ -428,7 +442,7 @@
 
 !corrigendum 7.3(20)
 
-@dinsa
+@drepl
 @xindent<@s9<7  The ancestor type specified in a
 @fa<private_extension_declaration> and the parent type specified in the
 corresponding declaration of a record extension given in the private part need
@@ -439,7 +453,22 @@
 subprogram of the specified ancestor type, while the body comes from the
 corresponding primitive subprogram of the parent type of the full view. See
 3.9.2.>>
-@dinst
+@dby
+@xindent<@s9<7  The ancestor type specified in a
+@fa<private_extension_declaration> and the parent type specified in the
+corresponding declaration of a record extension given in the private part need
+not be the same. If the ancestor type is not an interface type, the parent type
+of the full view can be any descendant of the ancestor type. In this case, for
+a primitive subprogram that is inherited from the ancestor type and not
+overridden, the formal parameter names and default expressions (if any) come
+from the corresponding primitive subprogram of the specified ancestor type,
+while the body comes from the corresponding primitive subprogram of the parent
+type of the full view. See 3.9.2.>>
+
+@xindent<@s9<  Similarly, if the ancestor type is an interface type, the parent
+type can be anything so long as the full view is a descendant of the ancestor
+type.>>
+
 @xindent<@s9<8  The progenitor types specified in a
 @fa<private_extension_declaration> and the progenitor types specified in the
 corresponding declaration of a record extension given in the private part need

Questions? Ask the ACAA Technical Agent