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

Differences between 1.8 and version 1.9
Log of other versions for file ai12s/ai12-0042-1.txt

--- ai12s/ai12-0042-1.txt	2013/12/11 23:38:51	1.8
+++ ai12s/ai12-0042-1.txt	2013/12/11 23:43:32	1.9
@@ -1,10 +1,10 @@
-!standard 7.3.2(6/3)                                 13-11-16    AI12-0042-1/06
+!standard 7.3.2(6/3)                                 13-11-17    AI12-0042-1/07
 !class binding interpretation 12-11-29
 !status work item 12-11-29
 !status received 12-04-09
 !priority Medium
 !difficulty Medium
-!subject Type invariants inherited by non-private extensions
+!subject Type invariants inherited by nonprivate extensions
 !summary
 
 If a class-wide invariant applies to an ancestor, then
@@ -33,26 +33,14 @@
   applies to that ancestor, then the inherited operation shall be
   abstract or shall be overridden.
 
-Modify 7.3.2(16/3) as follows:
-
-   {If T is a private type or a private extension, then an} [An]
-   invariant is checked upon successful return from a call on any
-   subprogram or entry that:
-
-Modify 7.3.2(18/3) as follows:
-
-   is visible outside the immediate scope of type T or overrides
-   an {inherited} operation that is visible outside the immediate scope
-   of T, and
-
 Modify 7.3.2(16/3-19/3) as follows:
 
    * An invariant is checked upon successful return from a call on any
      subprogram or entry that:
 
-     * is declared within the immediate scope of type T (or by an
-       instance of a generic unit, and the generic is declared within the
-       immediate scope of type T), and
+      * is declared within the immediate scope of type T (or by an
+        instance of a generic unit, and the generic is declared within the
+        immediate scope of type T), and
 
      [* is visible outside the immediate scope of type T or overrides an
         operation that is visible outside the immediate scope of T, and]
@@ -74,18 +62,8 @@
           invariant applies.}
 
 !discussion
-
-This AI ended up very differently than how it started out.
-
-A language issue was identified, thought to be a problem, explored, and
-found not to warrant any action after all. (This was the question of
-record extensions of types with class-wide invariants.)
-
-This sounds like it ought to yield a "no action" AI, but two minor points,
-largely unrelated to the main topic of the AI, were noticed along the way.
-After the dust had settled, these two guys were all that remained.
 
-The two minor points are:
+This AI addresses two issues:
 
     1) If a private extension inherits from some ancestor both a
        Type_Invariant'Class and a private operation, then we've

Questions? Ask the ACAA Technical Agent