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

Differences between 1.2 and version 1.3
Log of other versions for file ai12s/ai12-0056-1.txt

--- ai12s/ai12-0056-1.txt	2013/04/12 02:29:05	1.2
+++ ai12s/ai12-0056-1.txt	2013/05/01 23:54:28	1.3
@@ -1,10 +1,11 @@
-!standard 1.1(3/3)                                   13-04-11  AI05-0056-1/02
+!standard 1.1(3/3)                                   13-05-01  AI05-0056-1/03
 !standard 1.1.2(24/3)
 !standard 3.9(12.4/3)
 !standard 3.10(22/2)
 !standard 5.2(20)
 !standard 6.1(39)
 !standard A.18.25(10/3)
+!standard A.18.26(9.2/3)
 !class presentation 12-12-12
 !status Amendment 202x 13-01-14
 !status work item 13-01-14
@@ -37,6 +38,9 @@
 
 7) Function Copy in A.18.25(10/3) should return type Tree, not type List.
 
+8) Formal procedure Swap in A.18.26(9.2/3) should have an explicit mode "in"
+for its parameters.
+
 !question
 
 1) The Next_Frame example in 6.1(39) uses type Frame, which is labeled "see 3.10".
@@ -63,6 +67,10 @@
 returns a List! There is no List declared in this package; this ought to be
 Tree, right? (Yes.)
 
+8) Formal procedure Swap in A.18.26(9.2/3) has no explicit mode on its parameters,
+but our style is to always give an explicit mode on procedure parameters. Should
+there be an explicit mode "in" here? (Yes.)
+
 !recommendation
 
 (See Summary.)
@@ -105,6 +113,10 @@
    function Copy (Source : Tree; Capacity : Count_Type := 0)
        return {Tree}[List];
 
+8) Modify A.18.26(9.2/3):
+
+      with procedure Swap (Left, Right : {in} Index_Type);
+
 !discussion
 
 1) The intent is that the examples in the Standard, taken as a whole, are
@@ -180,6 +192,7 @@
 7) This is pretty clearly a cut-and-paste error, as a similar bullet appears
 in each of the bounded container sections.
 
+8) 
 !corrigendum 1.1(3/3)
 
 @drepl
@@ -265,6 +278,25 @@
 @xcode<   @b<function> Copy (Source : Tree; Capacity : Count_Type := 0)
       @b<return> Tree;>
 
+!corrigendum A.18.26(9.2/3)
+@drepl
+@xcode<@b<generic>
+   @b<type> Index_Type @b<is> (<@>);
+   @b<with function> Before (Left, Right : Index_Type) @b<return> Boolean;
+   @b<with procedure> Swap (Left, Right : Index_Type);
+@b<procedure> Ada.Containers.Generic_Sort
+      (First, Last : Index_Type'Base);
+@b<pragma> Pure(Ada.Containers.Generic_Sort);>
+@dby
+@xcode<@b<generic>
+   @b<type> Index_Type @b<is> (<@>);
+   @b<with function> Before (Left, Right : Index_Type) @b<return> Boolean;
+   @b<with procedure> Swap (Left, Right : @b<in> Index_Type);
+@b<procedure> Ada.Containers.Generic_Sort
+      (First, Last : Index_Type'Base);
+@b<pragma> Pure(Ada.Containers.Generic_Sort);>
+
+
 !ASIS
 
 No changes needed.
@@ -458,5 +490,12 @@
 A.18.25 (10/3) says that function Copy for a bounded Tree returns a List!!
 
 Maybe we knew that.
+
+****************************************************************
+
+From: John Barnes
+Sent: Wednesday, May  1, 2013  8:07 PM
+
+In A.18.26(9.2/3), the procedure Swap really ought to have mode in on its parameters.
 
 ****************************************************************

Questions? Ask the ACAA Technical Agent