!standard 4.1.5(5.1/4) 16-10-06 AI12-0203-1/01 !standard 4.1.5(7/3) !class presentation 16-10-06 !status work item 16-10-06 !status received 16-09-08 !priority Low !difficulty Easy !qualifier Clarification !subject Overriding a nonoverriddable aspect !summary Clarify 4.1.5(7/3). !question 4.1.5(5.1/4) says: The Implicit_Dereference aspect is nonoverridable (see 13.1.1). while 4.1.5(7/3) starts: Given a reference type T, the Implicit_Dereference aspect is inherited by descendants of type T if not overridden. Since the aspect can't be overridden, why the if not overridden above? !recommendation A nonoverridable aspect can have a confirming aspect value specified, and that is the case that have to be covered by the 4.1.5(7/3) sentence. A clarification is suggested. (See Summary.) !wording Modify 4.1.5(7/3): Given a reference type T, the Implicit_Dereference aspect is inherited by descendants of type T if not overridden{ (which is only permitted if confirming)}. If a descendant type constrains the value of the reference discriminant of T by a new discriminant, that new discriminant is the reference discriminant of the descendant. Redundant[If the descendant type constrains the value of the reference discriminant of T by an expression other than the name of a new discriminant, a generalized_reference that identifies an object of the descendant type denotes the object or subprogram designated by the value of this constraining expression.] !discussion (See !recommendation.) !ASIS No ASIS effect. !ACATS test No ACATS test needed. !appendix The original issue was raised privately by Steve Baird; another AdaCore person independently raised the issue a few days later. The wording was suggested by Tucker Taft. ****************************************************************