CVS difference for ai22s/ai22-0018-1.txt
--- ai22s/ai22-0018-1.txt 2021/11/13 07:58:27 1.1
+++ ai22s/ai22-0018-1.txt 2021/11/16 06:06:19 1.2
@@ -1,5 +1,7 @@
-!standard 4.3.5(24/5) 21-11-12 AI22-0018-1/01
+!standard 4.3.5(24/5) 21-11-16 AI22-0018-1/02
!standard 4.3.5(26/5)
+!standard 4.3.5(38/5)
+!standard 4.3.5(39/5)
!standard 4.9(8.1/5)
!standard 13.1(0.1/3)
!class binding interpretation 21-11-12
@@ -43,7 +45,8 @@
(2) Add a sentence about the missing kind of aggregate.
-(3) Drop the restriction.
+(3) Drop the restriction. Also fix-up the wording about calls to Empty to
+reflect the removal of the restriction.
(4) Drop a rule about a nonexistent attribute.
@@ -87,6 +90,18 @@
with a key_choice that is a discrete_range,] is permitted only in an
indexed aggregate.
+Delete 4.3.5(38/5):
+
+* for a named_container_aggregate without an iterated_element_association, the
+ number of key_expressions;
+
+Modify 4.3.5(39/5):
+
+* for a named_container_aggregate where every iterated_element_association
+ contains a loop_parameter_specification {(including the case where there
+ are no iterated_element_associations)}, the total number of
+ elements specified by all of the container_element_associations;
+
(4)
Delete 4.9(8.1/5):
@@ -121,6 +136,14 @@
from an early version that existed before indexed aggregates were added. That
makes it vestigal, and it should be eliminated.
+The Dynamic Semantics wording for the bulk of the implementation of container
+aggregates does not need a change for this relaxation, but the determination
+of the aggregate length wording in 4.3.5(38/5) does not make sense if some
+choices can be ranges. The wording in 4.3.5(39/5) works fine for this case, so
+we just delete 4.3.5(38/5) and add a parenthetical remark into 4.3.5(39/5)
+hopefully make it clear that it applies as well if there are no iterators at
+all.
+
(4) When the attribute was deleted, this rule should have been removed as
well, but obviously was not.
@@ -217,5 +240,20 @@
[Tucker Reply #2]
Great minds...
+
+****************************************************************
+
+From: Randy Brukardt [privately]
+Sent: Tuesday, November 16, 2021 12:00 AM
+
+I noticed today a problem with the solution for the third question of
+AI22-0018-1: the wording of 4.3.5(38/5) doesn't make sense if discrete_ranges
+are allowed in choices. I think the best solution to that is to delete that
+bullet entirely and add a parenthetical remark to the next one to make it
+clear that it also applies if there are no iterated_element_associations. I've
+updated the AI accordingly and reposted it (and updating everything with it,
+hopefully).
+
+Apologies for any inconvenience.
****************************************************************
Questions? Ask the ACAA Technical Agent