CVS difference for ai12s/ai12-0396-1.txt

Differences between 1.4 and version 1.5
Log of other versions for file ai12s/ai12-0396-1.txt

--- ai12s/ai12-0396-1.txt	2020/11/28 07:41:38	1.4
+++ ai12s/ai12-0396-1.txt	2020/11/29 02:27:04	1.5
@@ -618,7 +618,56 @@
 by all implementations; in such an implementation, the specification for such
 an aspect is illegal or raises an exception at run time.
 
-!comment 13.1(15.1/3)
+!corrigendum 13.1(15.1/3)
+
+@drepl
+In contrast, whether operational aspects are inherited by a derived type
+depends on each specific aspect; unless specified, an operational aspect is
+not inherited. When operational aspects are inherited by a derived type,
+aspects that were directly specified by @fa<aspect_specification>s or
+operational items that are visible at the point of the derived type declaration,
+or (in the case where the parent is derived) that were inherited by the parent
+type from the grandparent type are inherited. An inherited operational aspect is
+overridden by a subsequent @fa<aspect_specification> or operational item that
+specifies the same aspect of the type.
+@dby
+In contrast, whether type-related operational aspects are inherited by a 
+derived type depends on each specific aspect; unless specified, an operational
+aspect is not inherited. When type-related operational aspects are inherited 
+by a derived type,
+aspects that were directly specified by @fa<aspect_specification>s or
+operational items that are visible at any point within the immediate scope
+of the derived type declaration,
+or (in the case where the parent is derived) that were inherited by the parent
+type from the grandparent type, are inherited. An inherited operational aspect is
+overridden by an @fa<aspect_specification> or operational item that
+specifies the same aspect of the type.
+
+When a type-related operational aspect is inherited, the rules for
+inheritance depend on the nature of the aspect (see 13.1.1). Unless
+otherwise specified for a given aspect, these rules are as follows:
+
+@xbullet<For an operational aspect that is a value, the inherited aspect has
+the same value;>
+
+@xbullet<For an operational aspect that is a @fa<name>:>
+
+@xinbull<if the @fa<name> denotes one or more primitive subprograms of the
+type, the inherited aspect is a @fa<name> that denotes the corresponding 
+primitive subprogram(s) of the derived type;>
+
+@xinbull<otherwise, the inherited aspect is a @fa<name> that denotes the 
+same entity or entities as the original aspect;>
+
+@xbullet<For an operational aspect that is an @fa<expression> or an 
+@fa<aggregate>, the inherited aspect is a corresponding @fa<expression> or
+@fa<aggregate> where each @fa<name> that denotes a primitive subprogram of 
+the type denotes the corresponding primitive subprogram of the derived type,
+and where any other @fa<name> denotes the same entity as that in the original 
+aspect;>
+
+@xbullet<For an operational aspect that is an identifier specific to the
+aspect, the inherited aspect is the same identifier.>
 
 !corrigendum 13.1(18.1/3)
 

Questions? Ask the ACAA Technical Agent