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

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

--- ai12s/ai12-0183-1.txt	2017/04/25 03:59:20	1.6
+++ ai12s/ai12-0183-1.txt	2017/11/30 04:18:02	1.7
@@ -1,6 +1,7 @@
-!standard 3.7.2(3/3)                                    17-04-24  AI12-0183-1/04
+!standard 3.7.2(3/3)                                    17-11-21  AI12-0183-1/05
 !standard 4.9(2)
 !standard 5.5.2(5/5)
+!standard 8.3(12.3/2)
 !standard D.4(4)
 !standard D.4(7/5)
 !class presentation 16-03-23
@@ -26,6 +27,8 @@
 
 5) Drop the redundant words in 5.5.2(5/5).
 
+6) Clarify 8.3(12.3/2) as conformance applies to profiles, not subprograms.
+
 !question
 
 1) AI12-0163-1 defines policy Ordered_FIFO_Queuing. But the Legality Rule
@@ -54,6 +57,9 @@
 There's no such thing as a "generalized iterator component iterator". Was
 just "generalized iterator" meant here? (Yes.)
 
+6) 8.3(12.3/2) says that "they fully conform", but full conformance applies to
+profiles, not subprograms. Should this wording be clarified? (Yes.)
+
 !recommendation
 
 (See Summary.)
@@ -90,6 +96,16 @@
    The subtype defined by the loop_parameter_subtype_indication, if any, of a
    generalized iterator [component iterator] shall statically match ...
 
+6) Modify 8.3(12.3/2):
+
+   * Otherwise (all are null procedures, abstract subprograms, or require
+     overriding), then any null procedure overrides all abstract subprograms
+     and all subprograms that require overriding; if more than one such
+     homograph remains that is not thus overridden, then if {the profiles
+     of the remaining homographs}[they] are all fully conformant with one
+     another, one is chosen arbitrarily; if not, they are all hidden from all
+     visibility. 
+
 !discussion
 
 1) This is a clear omission from AI12-0163-1. Obviously, if we define a queuing
@@ -126,6 +142,11 @@
 so it is clear that there are extra words in the first sentence - especially
 as no kind of iterator includes the word "iterator" twice.
 
+6) It's clear that "fully conform" applies to the profile of the subprograms
+involved, so we just change the working to say that. [Note: The question comes
+from the discussion of AI12-0064-2 during the Lexington ARG meeting in October
+2017.]
+
 !corrigendum 3.7.2(3)
 
 @drepl
@@ -165,6 +186,23 @@
 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 8.3(12.3/3)
+
+@drep
+@xbullet<Otherwise (all are null procedures, abstract subprograms, or require
+overriding), then any null procedure overrides all abstract subprograms
+and all subprograms that require overriding; if more than one such
+homograph remains that is not thus overridden, then if they are all fully
+conformant with one another, one is chosen arbitrarily; if not, they are all
+hidden from all visibility.>
+@dby
+@xbullet<Otherwise (all are null procedures, abstract subprograms, or require
+overriding), then any null procedure overrides all abstract subprograms
+and all subprograms that require overriding; if more than one such homograph
+remains that is not thus overridden, then if the profiles of the remaining
+homographs are all fully conformant with one another, one is chosen
+arbitrarily; if not, they are all hidden from all visibility.>
 
 !corrigendum D.4(4)
 

Questions? Ask the ACAA Technical Agent