Version 1.2 of ai22s/ai22-0003-1.txt

Unformatted version of ai22s/ai22-0003-1.txt version 1.2
Other versions for file ai22s/ai22-0003-1.txt

!standard 4.2.1(14/5)          21-11-18 AI22-0003-1/02
!class binding interpretation 21-11-11
!status ARG Approved 11-0-0 21-11-18
!status work item 21-11-11
!status received 21-11-10
!priority Low
!difficulty Easy
!qualifier Omission
!subject Vestigial rule about inheritance of user-defined literal aspects
Delete unneeded rule.
Consider the case of a nonabstract derived tagged type whose parent type has a specified user-defined literal aspect (for example, Integer_Literal).
We have a nice description of how aspect inheritance works in this case in 13.1(15.4/5-15.6/5). But we also have in 4.2.1(14/5) a rule:
If a nonabstract tagged type inherits any user-defined literal aspect, then each inherited aspect shall be directly specified as a nonabstract function for the type unless the inherited aspect denotes a nonabstract function, or functions, and the type is a null extension.
Recall that user-defined literal aspects are nonoverridable (4.2.1(6/5)). Thus this rule requires overriding of a nonoverridable aspect. This requirement could be satisfied via a confirming aspect specification, but it seems very odd to require an explicit confirming aspect specification.
Is this rule needed anymore? (No.)
(See Summary.)
Delete 4.2.1(14/5).
4.2.1(14/5) appears to be a vestigial rule left over from an earlier model that we have since moved away from. The 13.1 rules about inheritance are all that is needed; the worse-than-redundant 4.2.1 rule should be deleted.
!ACATS test
No separate ACATS test is needed; tests for the inheritance of these aspects should be enough as this is loosening a restriction.


Questions? Ask the ACAA Technical Agent