AI22-0020-1
!standard 4.3.5(3/5) 22-01-13 AI22-0020-1/02
!standard 4.3.5(4/5)
!class ramification 21-11-12
!status WG9 Approved 22-10-18
!status ARG Approved 15-0-1 22-02-03
!status work item 21-11-12
!status received 21-11-09
!submitter Randy Brukardt
!priority Low
!difficulty Easy
!subject Order of elements in Aggregate aspect
The Aggregate aspect elements have to be given in the defined order.
The elements of the Aggregate aspect are given syntactically in 4.3.5(4/5). This is like a pragma. Does this have the same effect as for a pragma, in that omissions and reordering are not allowed? (Yes.)
(See Summary.)
Add after 4.3.5(4/5):
AARM Ramification: As this aspect is described with syntax, it has to be given exactly as specified here. That means it cannot be given as a positional aggregate, nor can the order of the elements be changed. For instance, New_Indexed always has to occur before Assign_Indexed, and Empty always has to be first.
[Editor's note: This note was added to the final Ada 2022 AARM.]
This is similar to the rule for pragma Import and other interfacing pragmas. Given that various elements can be omitted, a positional aggregate would be ambiguous. And many of these elements cannot be used together, so in practice this will not be very limiting.
An ACATS B-Test should check that Aggregate cannot be a positional aggregate, nor one with the elements out of order.
****************************************************************