Version 1.1 of ai12s/ai12-0418-1.txt
!standard 9.7.4(14/4) 20-12-14 AI12-0418-1/01
!class binding interpretation 20-12-14
!status Amendment 1-2012 20-12-14
!status work item 20-12-14
!status received 20-12-14
!priority Low
!difficulty Easy
!qualifier Omission
!subject Presentation issues from Draft 26 review - part 3
!summary
Various wording issues were noted by reviewers of Draft 26.
!question
(1) 9.7.4(14/4) talks about "abort completion points", which is a forward
reference to 9.8. Typically, we have a cross-reference for forward references.
Should one be added here? (Yes.)
(2) 12.3(11) needs a comma in "In a generic unit Legality Rules ..."; the
two other clauses have commas before "Legality Rules" so this one is
inconsistent. Should it be added? (Yes.)
!recommendation
(1) Add (see 9.8) after "abort completion points".
(2) Add the comma.
!wording
[Editor's note: These changes were applied to Draft 28 of the Ada 202x RM,
even though they have not yet been approved, in order that that draft be as
accurate as possible.]
Modify 9.7.4(14/4):
Note that these examples presume that there are abort completion points
{(see 9.8) }within the execution of the abortable_part.
Modify 12.3(11):
In a generic unit{,} Legality Rules are enforced at compile time of the
generic_declaration and generic body, given the properties of the formals.
In the visible part and formal part of an instance, Legality Rules are
enforced at compile time of the generic_instantiation, given the properties
of the actuals. In other parts of an instance, Legality Rules are not
enforced; this rule does not apply when a given rule explicitly specifies
otherwise.
!discussion
(See !recommendation.)
!corrigendum 9.7.4(14/4)
Replace the paragraph:
Note that these examples presume that there are abort completion points within
the execution of the abortable_part.
by:
Note that these examples presume that there are abort completion points
(see 9.8) within the execution of the abortable_part.
!corrigendum 12.3(11)
Replace the paragraph:
In a generic unit Legality Rules are enforced at compile time of the
generic_declaration and generic body, given the properties of the formals.
In the visible part and formal part of an instance, Legality Rules are
enforced at compile time of the generic_instantiation, given the
properties of the actuals. In other parts of an instance, Legality Rules
are not enforced; this rule does not apply when a given rule explicitly
specifies otherwise.
by:
In a generic unit, Legality Rules are enforced at compile time of the
generic_declaration and generic body, given the properties of the formals.
In the visible part and formal part of an instance, Legality Rules are
enforced at compile time of the generic_instantiation, given the
properties of the actuals. In other parts of an instance, Legality Rules
are not enforced; this rule does not apply when a given rule explicitly
specifies otherwise.
!ASIS
No ASIS effect.
!ACATS test
No ACATS tests should be needed, none of these changes change any semantics.
!appendix
From the AARM review of John Barnes, September 2020
9.7.4(14/4) I would add (see 9.8) but not essential. It is a forward
reference.
12.3(11) Please put a comma thus "In a generic unit, Legality Rules…"
****************************************************************
Questions? Ask the ACAA Technical Agent