AI22-0070-1

!standard 4.3.3(32/6)                                        23-04-03  AI22-0070-1/02

!class presentation 23-03-23

!status Corrigendum 1-2022  23-03-30

!status WG9 Approved 23-06-13

!status ARG Approved 12-0-0  23-03-30

!status work item 23-03-23

!status received 23-03-23

!priority Low

!difficulty Easy

!subject Cannot use might, might use can

!summary

ISO Standard wording cannot use "might", it might use "can".  Also, “may” should be used instead of “can” for a permission.

!issue

JTC1 Directives, Part 2 says that the word "might" is not allowed in wording, "can" (possibility) or "may" (permission) should be used instead. One of the wording changes adopted right after the completion of Ada 2022 uses "might" and needs to be corrected.

!recommendation

(See Summary.)

!wording

Modify 4.3.3(32/6):

When evaluating iterated_component_associations for an array_aggregate that contains only iterated_component_associations with iterator_specifications, the first step of evaluating an iterated_component_association {may}[can] be omitted if the implementation can determine the number of values by some other means. [Redundant: Such "other means" {can}[might] include making use of an applicable index constraint or the Length function of a suitable container type.]

!discussion

AI22-0006-1 is WG 9 approved, and thus should not be changed. Thus we need a new AI to correct the wording changes.

AI22-0031-1 had a similar mistake, but that one was caught in Editorial Review just before sending to WG 9. So we were able to correct that AI before it was frozen.

When reviewing this AI, it was noted that the primary wording of this Implementation Permission used “can” rather than the correct “may”. We also corrected that mistake.

!corrigendum 4.3.3(32/6)

@drepl

When evaluating @fa{iterated_component_association}s for an

@fa{array_aggregate} that contains only @fa{iterated_component_association}s

with @fa{iterator_specification}s, the first step of evaluating an

@fa{iterated_component_association} can be omitted if the implementation can

determine the maximum number of values by some other means.

Such "other means" might include making use of an applicable index constraint

or the Length function of a suitable container type.

@dby

When evaluating @fa{iterated_component_association}s for an

@fa{array_aggregate} that contains only @fa{iterated_component_association}s

with @fa{iterator_specification}s, the first step of evaluating an

@fa{iterated_component_association} may be omitted if the implementation can

determine the maximum number of values by some other means.

Such "other means" can include making use of an applicable index constraint

or the Length function of a suitable container type.

!ACATS test

No ACATS tests needed for wording changes that don't change the meaning.

!appendix