CVS difference for ai22s/ai22-0012-1.txt

Differences between 1.2 and version 1.3
Log of other versions for file ai22s/ai22-0012-1.txt

--- ai22s/ai22-0012-1.txt	2021/11/14 06:16:23	1.2
+++ ai22s/ai22-0012-1.txt	2021/11/19 07:42:35	1.3
@@ -1,6 +1,6 @@
-!standard 6.1.1(18.2/5)                               21-11-13  AI22-0012-1/01
+!standard 6.1.1(18.2/5)                               21-11-18  AI22-0012-1/02
 !class binding interpretation 21-11-12
-!status work item 21-11-12
+!status ARG Approved 10-0-2  21-11-18!status work item 21-11-12
 !status received 21-07-07
 !priority Medium
 !difficulty Hard
@@ -14,8 +14,8 @@
 
 !question
 
-If we declare an abstract type T0 with a nonabstract primitive Foo, with a 
-nonabstract Pre'Class invoking All_Good:
+Suppose we declare an abstract type T0 with a nonabstract primitive Foo, with
+a nonabstract Pre'Class invoking All_Good:
 
    package P is
         type T0 is abstract tagged private;
@@ -87,6 +87,8 @@
   shall it be a generic actual subprogram for a formal subprogram
   declared by a formal_concrete_subprogram_declaration.
 
+Delete AARM 6.1.1(18.f/5).
+
 !discussion
 
 This incompatibility was introduced by AI12-0412-1. The goal was to
@@ -99,15 +101,14 @@
 pre/post was *nonstatic*. In Ada 2012, calling such a subprogram was
 legal.
 
-Note that this situation can occur not only when the Pre'Class or
-Post'Class is first resolved -- the problem can occur any time that an
-abstract routine is *bound* (even if the resolved routine is not
-abstract, since remember that this is talking about the nominal NT, but
-ultimately one can bind to a derived type with an abstract version of
-one of the included functions).
+Note that this situation can occur both when the Pre'Class or Post'Class is
+first resolved, and time that an abstract routine is *bound* (even if the 
+resolved routine is not abstract). Remember that this is talking about the 
+nominal NT, but ultimately one can bind to a derived type with an abstract 
+version of one of the included functions.
 
 Note that the following was added into the AARM for Ada 2022, after
-6.1.1(18.2/5):
+6.1.1(18.2/5) (as AARM 6.1.1(18.f/5)):
 
   Discussion: {AI12-0412-1} As this Reference Manual was frozen, a
   significant incompatibility has come to light with the above rule. The
@@ -117,11 +118,13 @@
   adjusted; check with ARG work at www.ada_auth.org/arg.html to find the
   adjusted rules. 
 
+This note is deleted by this AI, as we've fixed the rule.
+
 !ACATS test
 
 ACATS B-Tests should be adjusted to not include cases allowed by this change.
-There might be value to having an ACATS C-Test to ensuring that an example
-like the one in the question is legal and executes properly.
+There might be value to having an ACATS C-Test to ensure that an example like
+the one in the question is legal and executes properly.
 
 !appendix
 

Questions? Ask the ACAA Technical Agent