!standard 6.6 (6) 21-11-11 AI22-0005-1/00 !class confirmation 21-11-11 !status received 21-11-11 !priority Low !difficulty Easy !qualifier Omission !subject Editorial comments on AARM 2022 !summary This AI serves as a holder for editorial comments on AARM-only annotations. This AI serves the same purpose as AI95-00114 did for Ada 2005, AI05-0005-1 did for Ada 2012, and AI12-0005-1 did for Ada 2022. Because the AARM has no official status as far as ISO is concerned, these will be considered low priority. If a change cross-references this AI, find it in the Appendix below. !issue !response !appendix From: John Barnes Sent: Tuesday, May 22, 2021 xx:xx PM ... [Placeholder for the moment.] **************************************************************** Editor's note (Nov 8, 2021): All of the items above this marker have been included in the working version of the AARM. **************************************************************** From: Niklas Holsti WG 9 Review issue #167 - May 21, 2021 In this "Ramification" [4.9(13.b) - Editor.], the last case, "when specifying the value of a discriminant ...", is no longer exactly true, because a nonstatic value is now allowed if the value has a static subtype that governs the variant part, RM 4.3.1(17/5). **************************************************************** From: Randy Brukardt WG 9 Review issue #167 - May 25, 2021 You are correct. Moreover, this note reads as if this is a complete list of places where static expressions are required. But there has been no maintenance of this list in Ada 2005, Ada 2012, or Ada 202x, and it is almost certainly missing some constructs. It would be better to reduce it to a few interesting cases as examples, because no one is ever going to remember to maintain a list like this, (Rather, the complete list should be in the index as "static expression, required", but that's another can of worms at this late date - trying to find all of the places would be a pain.) Anyway, I replaced the entire note with: The language requires a static expression in a number_declaration, a numeric type definition, certain representation items, and a number of other places. If someone would like to develop a complete list of current places, I'd be happy to put index entries in for them all. In that case, I'd add to the above " See 'static expression, required' in the index for a complete list of places". **************************************************************** From: Tucker Taft WG 9 Review issue #167 - May 27, 2021 I would defer the new index entry to the next revision. I would change "places" to "contexts" in your new wording. **************************************************************** From: Randy Brukardt WG 9 Review issue #167 - May 27, 2021 I've marked this "deferred" so we remember to add the missing index entries. **************************************************************** From: Randy Brukardt In part from issue #19 - September 2, 2022 The profiles defined all should be indexed like "profiles, Ravenscar" (similarly to restrictions). **************************************************************** From: Steve Baird Sent: Wednesday, April 19, 2023 (privately) Are we missing something in AARM Reason: For a function that has a parameter of T or access T, a blanket rule in 13.1.1 requires the function to be a primitive operation of T, the wording about the same declaration_list is redundant in that case. ? Perhaps something like AARM Reason: For a function that has a parameter of T or access T (so a blanket rule in 13.1.1 requires the function to be a primitive operation of T) the wording about the same declaration_list is redundant. would be better. This wording occurs twice in the AI. **************************************************************** From: Randy Brukardt Sent: Friday, April 21, 2023 (privately) How about: AARM Reason: For a function that has a parameter of T or access T, a blanket rule in 13.1.1 requires the function to be a primitive operation of T, so the wording about the same declaration_list is redundant in that case. [Editor's note: Fix both of the AARM notes in AI22-0002-1 (After AARM 4.1.6(3.b/3) and AARM 5.5.1(8.a/3)).] I suspect this is what was meant to be written. The point is that the blanket rule makes the wording redundant in this particular case. We have the case first, the mention of the blanket rule, and finally the consequence. One could imagine fully rewriting these notes to reorder the parts, but I haven't found anything that works better. Since AI22-0002-1 is WG 9 approved, I'll put this wording fix into AI22-0005-1 (the AARM note AI). No ARG action is needed. ****************************************************************