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

Differences between 1.20 and version 1.21
Log of other versions for file ai12s/ai12-0112-1.txt

--- ai12s/ai12-0112-1.txt	2019/05/14 07:05:17	1.20
+++ ai12s/ai12-0112-1.txt	2019/06/11 04:13:53	1.21
@@ -1709,7 +1709,13 @@
 parameters). We put similar requirements on the individual traversal 
 operations in the container package definitions.
 
+Add before A.18.27(9/3):
 
+The subprogram behavior descriptions given below are the semantics for the 
+corresponding callable entities found in the language-defined generic 
+packages that have a formal package named Queue_Interfaces.
+
+
 !discussion
 
 For this version, we've prototyped the changes needed for a single
@@ -1862,7 +1868,15 @@
 compilers from detecting failing tampering checks (and optimizing away 
 unnecessary checks) based on these properties alone.
 
+---
+
+We add a sentence to A.18.27 to clarify that the descriptions of the interface 
+subprograms really only apply to the language-defined packages that implement
+this interface. A user-defined package implementing this interface can do
+literally anything allowed by the specs and contracts, and certainly can't be
+required to follow this description.
 
+
 !corrigendum 11.4.2(23.1/3)
 
 @dinsa
@@ -2188,6 +2202,23 @@
    @b<with> Post   =@> Tampering_With_Cursors_Prohibited (Container);>
 
 
+!corrigendum A.18.7(34/2)
+
+@drepl
+@xindent<If Position equals No_Element, then Constraint_Error is propagated;
+if Position does not designate an element in Container, then Program_Error
+is propagated. If an element equivalent to New_Item is already present in
+Container at a position other than Position, Program_Error is propagated.
+Otherwise, Replace_Element assigns New_Item to the element designated by
+Position. Any exception raised by the assignment is propagated.>
+@dby
+@xindent<Replace_Element assigns New_Item to the element designated by
+Position. Any exception raised by the assignment is propagated. For the
+purposes of determining whether the parameters overlap in a call to
+Replace_Element, the Container parameter is not considered to overlap with
+any object (including itself).>
+
+
 !corrigendum A.18.8(3/3)
 
 @drepl
@@ -2199,7 +2230,27 @@
 @dby
 See the conflict file!!
 
+!corrigendum A.18.8(49.1/3)
+
+@drepl
+@xcode<   @b<function> Iterate (Container : @b<in> Set)
+      @b<return> Set_Iterator_Interfaces.Forward_Iterator'Class;>
+@dby
+@xcode<   @b<function> Iterate (Container : @b<in> Set)
+      @b<return> Set_Iterator_Interfaces.Parallel_Iterator'Class;
+      @b<with> Post =@> Tampering_With_Cursors_Prohibited (Container);>
+
+!corrigendum A.18.8(85.1/3)
 
+@drepl
+@xcode<@b<function> Iterate (Container : @b<in> Set)
+   @b<return> Set_Iterator_Interfaces.Forward_Iterator'Class;>
+@dby
+@xcode<@b<function> Iterate (Container : @b<in> Set)
+   @b<return> Set_Iterator_Interfaces.Parallel_Iterator'Class
+   @b<with> Post =@> Tampering_With_Cursors_Prohibited (Container);>
+
+
 !corrigendum A.18.9(4/3)
 
 @drepl
@@ -2211,7 +2262,27 @@
 @dby
 See the conflict file!!
 
+!corrigendum A.18.9(61.1/3)
+
+@drepl
+@xcode<   @b<function> Iterate (Container : @b<in> Set)
+      @b<return> Set_Iterator_Interfaces.Reversible_Iterator'Class;>
+@dby
+@xcode<   @b<function> Iterate (Container : @b<in> Set)
+      @b<return> Set_Iterator_Interfaces.Parallel_Reversible_Iterator'Class
+      @b<with> Post =@> Tampering_With_Cursors_Prohibited (Container);>
+
+!corrigendum A.18.9(113.1/3)
 
+@drepl
+@xcode<@b<function> Iterate (Container : @b<in> Set)
+   @b<return> Set_Iterator_Interfaces.Reversible_Iterator'Class;>
+@dby
+@xcode<@b<function> Iterate (Container : @b<in> Set)
+   @b<return> Set_Iterator_Interfaces.Parallel_Reversible_Iterator'Class
+   @b<with> Post =@> Tampering_With_Cursors_Prohibited (Container);>
+
+
 !corrigendum A.18.10(8/3)
 
 @drepl
@@ -2223,6 +2294,17 @@
    @b<pragma> Preelaborable_Initialization(Tree);>
 @dby
 See the conflict file!!
+
+!corrigendum A.18.27(9/3)
+
+@dinsb
+@xcode<@b<procedure> Enqueue
+  (Container : @b<in out> Queue;
+   New_Item  : @b<in>     Element_Type) @b<is abstract>;>
+@dinst
+The subprogram behavior descriptions given below are the semantics for the 
+corresponding callable entities found in the language-defined generic 
+packages that have a formal package named Queue_Interfaces.
 
 
 !ASIS

Questions? Ask the ACAA Technical Agent