!standard 4.3.3(14.1/5) 22-02-03 AI22-0008-1/03 !class binding interpretation 21-11-11 !status Corrigendum 1-2022 22-02-03 !status WG9 Approved 22-10-18 !status ARG Approved 16-0-0 22-02-03 !status work item 21-11-11 !status received 21-11-09 !priority Low !difficulty Easy !qualifier Omission !subject Nominal subtype of a delta aggregate !summary We talk about an applicable index constraint rather than a nominal subtype for a delta aggregate. Specifically, the base expression of a delta aggregate has the same applicable index constraint as the delta aggregate as a whole. !issue 4.3.3(14.1/5) says For the base_expression of a delta_aggregate, if the nominal subtype of the delta_aggregate is a constrained array subtype, the applicable index constraint is the constraint of the subtype; Does a delta aggregate have a nominal subtype? (No.) !recommendation (See Summary.) !wording Modify 4.3.3(14.1/5): For the base_expression of a delta_aggregate[, if the nominal subtype of the delta_aggregate is a constrained array subtype], the applicable index constraint is [the constraint of the subtype] {that of the delta_aggregate as a whole, if any}; !discussion Aggregates generally don't have nominal subtypes, so this bullet is reworded to avoid using that term. !corrigendum 4.3.3(14.1/5) @drepl @xbullet@fa of a @fa, if the nominal subtype of the @fa is a constrained array subtype, the applicable index constraint is the constraint of the subtype;> @dby @xbullet@fa of a @fa, the applicable index constraint is that of the @fa as a whole, if any;> !ACATS test This rewording shouldn't change the needed ACATS test for this bullet. !appendix [Editor's note: From a private thread with many more topics in each message; only the relevant part is given here.] From: Jeff Cousins Sent: Tuesday, November 9, 2021 3:16 AM 4.3.3(14.1/5) – the item being written to can have a nominal subtype, and maybe the item used as the base expression, but can the delta aggregate itself? **************************************************************** From: Tucker Taft Sent: Tuesday, November 9, 2021 9:18 AM Not sure what you are asking here... **************************************************************** From: Jeff Cousins Sent: Tuesday, November 9, 2021 11:53 AM 4.3.3 (14.1/5) says “... if the nominal subtype of the delta_aggregate ...” What is the nominal subtype of a delta aggregate? Taking the example from 4.3.4 (27/5), where in the following is a subtype named (other than Integer)? ((0 => 1.0, 1 => 2.0, 2 => 3.0) with delta Integer(Random * 2.0) => 14.2) **************************************************************** From: Tucker Taft Sent: Tuesday, November 9, 2021 12:53 PM This looks like a bug in the wording. Aggregates generally don't have "nominal" subtypes. They are one of the few things that don't. 4.3.3(14.1/5) should probably say: For the base_expression of a delta_aggregate[, if the nominal subtype of the delta_aggregate is a constrained array subtype], the applicable index constraint is [the constraint of the subtype] {that of the delta_aggregate as a whole, if any}; ****************************************************************