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

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

--- ai12s/ai12-0008-1.txt	2011/11/09 05:32:05	1.1
+++ ai12s/ai12-0008-1.txt	2011/12/31 00:26:27	1.2
@@ -1,5 +1,6 @@
-!standard 4.3.2(8)                                            11-11-08  AI12-0008-1/01
+!standard 4.3.2(8)                                            11-12-30  AI12-0008-1/02
 !class binding interpretation 11-11-08
+!status deleted 11-11-13
 !status work item 11-11-08
 !status received 11-09-26
 !priority Low
@@ -9,81 +10,17 @@
 
 !summary
 
-** TBD.
+This AI was moved to an Ada 2005 AI (AI05-0282-1).
 
 !question
 
-4.3.2(8) does not seem to apply if the ancestor is constrained.
-
-Consider:
-
-   procedure Foo is
-      type Root (D : natural) is tagged record
-         F1 : String (1 .. D) := (others => 'x');
-      end record;
- 
-      subtype S1 is Root (1);
-      subtype S2 is Root (2);
- 
-      type Ext is new S1 with record F2 : Integer; end record;
-  
-      Var : Ext := (S2 with F2 => 123);
-   begin
-      null;
-   end Foo;
- 
-One would hope that this would raise Constraint_Error, but nothing seems to
-have that effect.
-
 !recommendation
 
-** TBD.
-
 !wording
 
-** TBD.
-
 !discussion
 
-Perhaps a static matching rule would be better if the target type
-is constrained??
-
 !ACATS Test
 
-!ASIS
-
 !appendix
 
-From: Steve Baird
-Sent: Monday, September 26, 2011  5:28 PM
-
-The following example obviously should raise Constraint_Error
-(assuming that it is not rejected at compile time - one could 
-imagine adding some sort of "statically matching subtype"
-legality rule, but that seems outside the scope of this discussion):
- 
-   procedure Foo is
-      type Root (D : natural) is tagged record
-         F1 : String (1 .. D) := (others => 'x');
-      end record;
- 
-      subtype S1 is Root (1);
-      subtype S2 is Root (2);
- 
-      type Ext is new S1 with record F2 : Integer; end record;
-  
-      Var : Ext := (S2 with F2 => 123);
-   begin
-      null;
-   end Foo;
- 
-It seems that the present RM wording fails to capture this intent.
- 
-Note that 4.3.2(8) does not apply because it begins with
-    "If the type of the ancestor_part has discriminants that are not
-     inherited by the type of the extension_aggregate, ..."
-
-Perhaps this condition needs to be expanded to include the case of 
-inherited discriminants and a constrained ancestor subtype_mark.
-
-****************************************************************

Questions? Ask the ACAA Technical Agent