CVS difference for ai05s/ai05-0139-2.txt
--- ai05s/ai05-0139-2.txt 2011/06/10 05:58:44 1.18
+++ ai05s/ai05-0139-2.txt 2011/06/20 04:55:17 1.19
@@ -840,14 +840,14 @@
!corrigendum 4.1(2)
@drepl
-@xcode<@fa<name> ::=
+@xcode<@fa<name> ::=
@fa<direct_name> | @fa<explicit_dereference>
| @fa<indexed_component> | @fa<slice>
| @fa<selected_component> | @fa<attribute_reference>
| @fa<type_conversion> | @fa<function_call>
| @fa<character_literal>>
@dby
-@xcode<@fa<name> ::=
+@xcode<@fa<name> ::=
@fa<direct_name> | @fa<explicit_dereference>
| @fa<indexed_component> | @fa<slice>
| @fa<selected_component> | @fa<attribute_reference>
@@ -1055,13 +1055,13 @@
@xcode< @b<type> Forward_Iterator @b<is limited interface>;
@b<function> First (Object : Forward_Iterator) @b<return> Cursor @b<is abstract>;
- @b<function> Next (Object : Forward_Iterator; Position : Cursor) @b<return> Cursor
- @b<is abstract>;>
+ @b<function> Next (Object : Forward_Iterator; Position : Cursor)
+ @b<return> Cursor @b<is abstract>;>
@xcode< type Reversible_Iterator @b<is limited interface and> Forward_Iterator;
@b<function> Last (Object : Reversible_Iterator) @b<return> Cursor @b<is abstract>;
- @b<function> Previous (Object : Reversible_Iterator; Position : Cursor) @b<return> Cursor
- @b<is abstract>;>
+ @b<function> Previous (Object : Reversible_Iterator; Position : Cursor)
+ @b<return> Cursor @b<is abstract>;>
@xcode<@b<end> Ada.Iterator_Interfaces;>
@@ -4531,6 +4531,28 @@
****************************************************************
+From: Bob Duff
+Sent: Friday, June 10, 2011 6:09 AM
+
+> I note that 4.1.5 (User-defined References) doesn't say anything about
+> "user-defined" in the similar text. So I conclude this is just a mistake.
+> Right??
+
+Right.
+
+****************************************************************
+
+From: Tucker Taft
+Sent: Friday, June 10, 2011 7:52 AM
+
+Your fix sounds fine. I think "user-defined" is as opposed to "predefined," not
+"language-defined." Even language-defined packages can have "user-defined
+primitive subprograms" overriding "predefined" operators. But if you think it
+is creating confusion, or simply that it doesn't add anything, then feel free to
+get rid of it.
+
+****************************************************************
+
From: Randy Brukardt
Sent: Thursday, June 9, 2011 11:13 PM
@@ -4559,5 +4581,49 @@
close together.
Perhaps this can be worded more elegantly.
+
+****************************************************************
+
+From: Tucker Taft
+Sent: Friday, June 10, 2011 7:53 AM
+
+Your fix sounds fine, though I have a suspicion that if you include the larger
+context, it may be redundant.
+
+****************************************************************
+
+From: Bob Duff
+Sent: Friday, June 10, 2011 8:16 AM
+
+> So I replaced this paragraph by the following:
+>
+> In a container element iterator whose /iterable_/name has type T,
+> if the /iterable_/name denotes a constant or the Variable_Indexing
+> aspect is not specified for T, then the Constant_Indexing aspect
+> shall be specified for T.
+
+How about this:
+
+ In an iterator whose /iterable_/name has type T, the Variable_Indexing
+ or Constant_Indexing aspect (or both) shall be specified for T.
+ If the /iterable_/name denotes a constant, the Constant_Indexing aspect
+ shall be specified for T.
+
+****************************************************************
+
+From: Tucker Taft
+Sent: Friday, June 10, 2011 8:35 AM
+
+To be more precise, the expected type for a container element iterator is "any
+iterable type" and from 5.5.1:
+
+ An /iterable type/ is an indexable type ...
+
+and from 5.5:
+
+ An /indexable type/ is (a view of) a user-defined tagged type with at least
+ one of the aspects Constant_Indexing or Variable_Indexing specified.
+
+So I believe your change is redundant.
****************************************************************
Questions? Ask the ACAA Technical Agent