CVS difference for ai12s/ai12-0183-1.txt

Differences between 1.5 and version 1.6
Log of other versions for file ai12s/ai12-0183-1.txt

--- ai12s/ai12-0183-1.txt	2017/04/21 05:43:53	1.5
+++ ai12s/ai12-0183-1.txt	2017/04/25 03:59:20	1.6
@@ -1,5 +1,6 @@
-!standard 3.7.2(3/3)                                    17-04-06  AI12-0183-1/03
+!standard 3.7.2(3/3)                                    17-04-24  AI12-0183-1/04
 !standard 4.9(2)
+!standard 5.5.2(5/5)
 !standard D.4(4)
 !standard D.4(7/5)
 !class presentation 16-03-23
@@ -23,6 +24,8 @@
 
 4) Define the type of the object Constrained attribute in 3.7.2.
 
+5) Drop the redundant words in 5.5.2(5/5).
+
 !question
 
 1) AI12-0163-1 defines policy Ordered_FIFO_Queuing. But the Legality Rule
@@ -43,6 +46,14 @@
 explicit says that the type of the attribute is Boolean. Should this be
 fixed? (Yes.)
 
+5) 5.5.2(5/5) starts:
+
+   "The subtype defined by the loop_parameter_subtype_indication, if any, of a
+    generalized iterator component iterator shall statically match ..."
+
+There's no such thing as a "generalized iterator component iterator". Was
+just "generalized iterator" meant here? (Yes.)
+
 !recommendation
 
 (See Summary.)
@@ -74,6 +85,11 @@
   
    The value of this attribute is of the predefined type Boolean.
 
+5) Modify 5.5.2(5/5):
+
+   The subtype defined by the loop_parameter_subtype_indication, if any, of a
+   generalized iterator [component iterator] shall statically match ...
+
 !discussion
 
 1) This is a clear omission from AI12-0163-1. Obviously, if we define a queuing
@@ -104,6 +120,12 @@
 literals, and it doesn't make sense for any user-defined type that happens
 to be around to be used as the result type of a language-defined attribute.
 
+5) There are three kinds of iterators defined in 5.5.2, "generalized
+iterators", "array component iterators", and "container element iterators".
+Each sentence in 5.5.2(5/5) gives a rule for one kind of these iterators,
+so it is clear that there are extra words in the first sentence - especially
+as no kind of iterator includes the word "iterator" twice.
+
 !corrigendum 3.7.2(3)
 
 @drepl
@@ -125,6 +147,25 @@
 
 A static expression is a scalar or string expression that is one of the following:
 
+!corrigendum 5.5.2(5/5)
+
+@drepl
+The subtype defined by the @fa<loop_parameter_subtype_indication>, if any, of a
+generalized iterator component iterator shall statically match the iteration cursor subtype.
+The subtype defined by the @fa<loop_parameter_subtype_indication>, if any, of an array
+component iterator shall statically match the component subtype of the type of
+the @i<iterable_>@fa<name>. The subtype defined by the @fa<loop_parameter_subtype_indication>,
+if any, of a container element iterator shall statically match the default
+element subtype for the type of the @i<iterable_>@fa<name>.
+@dby
+The subtype defined by the @fa<loop_parameter_subtype_indication>, if any, of a
+generalized iterator shall statically match the iteration cursor subtype.
+The subtype defined by the @fa<loop_parameter_subtype_indication>, if any, of an array
+component iterator shall statically match the component subtype of the type of
+the @i<iterable_>@fa<name>. The subtype defined by the @fa<loop_parameter_subtype_indication>,
+if any, of a container element iterator shall statically match the default
+element subtype for the type of the @i<iterable_>@fa<name>.
+
 !corrigendum D.4(4)
 
 @drepl
@@ -185,8 +226,38 @@
 Sent: Saturday, February 11, 2017  3:24 AM
 
 OK
+
+****************************************************************
+
+From: Tucker Taft
+Sent: Monday, April 24, 2017  5:05 PM
+
+Paragraph 5/5 of 5.5.2 (Generalized Loop Iteration) seems to have a typo in
+its first sentence:
+
+   "The subtype defined by the loop_parameter_subtype_indication, if any, of a
+    generalized iterator component iterator shall statically match the
+    iteration cursor subtype. ..."
+
+I think "component iterator" should be deleted leaving "... of a generalized
+iterator shall statically match ...".
+
+****************************************************************
+
+From: Randy Brukardt
+Sent: Monday, April 24, 2017  10:46 PM
 
-Sent from my HTC
+This looks like the kind of typo that I'd introduce in editing the RM. But it
+isn't: it's present in EVERY version of AI12-0156-1 (and probably in
+AI12-0151-1, which it was split from, before that). How in the world did no
+one notice that duplication in 2 years of ARG discussion and review???
+
+Anyway, since it's in the original AI, I've put the correction into the
+current presentation AI [AI12-0183-1] (it's an obvious typo, since there are
+three kinds of iterators defined in this clause, and none of them have two
+occurrences of the word "iterator"!), and immediately made the correction (as
+is the usual policy for presentation changes). [We'll vote on that AI
+someday, but there's no rush.]
 
 ***************************************************************
 

Questions? Ask the ACAA Technical Agent