CVS difference for ai22s/ai22-0018-1.txt

Differences between 1.1 and version 1.2
Log of other versions for file 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;
 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
 (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,
+Apologies for any inconvenience.

Questions? Ask the ACAA Technical Agent