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

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

--- ai12s/ai12-0191-1.txt	2019/02/23 02:26:19	1.9
+++ ai12s/ai12-0191-1.txt	2019/02/23 02:33:34	1.10
@@ -1,4 +1,4 @@
-!standard 3.9.1(4.1/2)                                      19-02-22  AI12-0191-1/06
+!standard 3.9.1(4.1/2)                                      19-02-23  AI12-0191-1/07
 !standard 7.3.2(10.1/4)
 !standard 7.3.2(15/5)
 !class binding interpretation 16-06-06
@@ -49,7 +49,7 @@
   not be a part (respectively, subcomponent) of the nominal type of
   the object.
 
-  AARM note: For example, there is a dynamic semantics rule that
+   AARM note: For example, there is a dynamic semantics rule that
   finalization of an object includes finalization of its components
   (see 7.6.1). In the following case
      type T1 is tagged null record;
@@ -58,10 +58,9 @@
      function Func return T1'Class is (T2'(others => <>));
      X : T1'Class := Func;
   the rule that "every component of the object is finalized" (as opposed to
-  something like "every component of the object that is a component of the
-  object's nominal type is finalized")
-  means that the finalization of X will include finalization of X.Comp.
-  For another example, see the rule about accessibility checking of
+  something like "every component of the nominal type of the object is
+  finalized") means that the finalization of X will include finalization of
+  X.Comp. For another example, see the rule about accessibility checking of
   access discriminants of parts of function results in 6.5.
   In contrast, the rules in 7.3.2 explicitly state that type invariant
   checks are only performed for parts which are of the type-invariant bearing
@@ -76,17 +75,17 @@
 Modify 7.3.2(10.1/4):
 
    After successful explicit initialization of the completion of a deferred 
-   constant with a part of type T {that is a part of the nominal
-   type of the constant}, if the completion is inside the immediate scope of the 
-   full view of T, and the deferred constant is visible outside the immediate 
-   scope of T, the check is performed on the part(s) of type T{that are
-   parts of the nominal type of the object};
+   constant [with]{whose nominal type has} a part of type T, if the completion 
+   is inside the immediate scope of the full view of T, and the deferred 
+   constant is visible outside the immediate scope of T, the check is 
+   performed on the part(s) of {the nominal type of the object that 
+   have }type T;
 
 Modify 7.3.2(15/5):
 
    Upon a successful return from a call on any subprogram or entry which is 
    type-invariant preserving for T, an invariant check is performed on each
-   part of type T{ that is a part of the nominal type of the object} which 
+   part of {the nominal type of the object that has } type T which 
    is subject to an invariant check for T.
    In the case of a call to a protected operation, the check is performed 
    before the end of the protected action. In the case of a call to a task
@@ -99,9 +98,9 @@
      some future extension component might have type T (contrast this to
      finalization, where we do intend that overhead). 
 with:
-     Reason: The various rules requiring type invariant checks only for parts
-     of type T which are parts of the nominal type of the object, as opposed
-     to all parts of type T (whether part of the nominal type or not),
+     Reason: The various rules requiring type invariant checks only for parts of
+     the nominal type of the object, as opposed for all parts of the object
+     (whether part of the nominal type or not),
      are motivated by a desire to avoid overhead associated with the
      possibility that there *might* exist an extension of the tagged type
      in question that has a part of type T.
@@ -1057,46 +1056,45 @@
 ****************************************************************
 
 From: Tucker Taft
-Sent: Friday, February 22, 2019  11:49 AM
-
-****************************************************************
+Sent: Friday, February 22, 2019  3:21 PM
 
-From: Tucker Taft
-Sent: Friday, February 22, 2019  11:49 AM
+Another confusion, at least for me, is sometimes we say "a part of type T" and
+it is not clear whether we mean "a part *having* the type T" or a "part of 
+some object O where O is of type T."
 
-****************************************************************
+I wonder whether we could simplify the phraseology a bit further, as sentences 
+like this:
 
-From: Tucker Taft
-Sent: Friday, February 22, 2019  11:49 AM
+  "... the check is performed on the part(s) of type T that are
+    parts of the nominal type of the object..."
 
-****************************************************************
+with:
 
-From: Tucker Taft
-Sent: Friday, February 22, 2019  11:49 AM
+    "... the check is performed on the part(s) of the nominal type of the
+   object that have type T ..."
 
 ****************************************************************
 
-From: Tucker Taft
-Sent: Friday, February 22, 2019  11:49 AM
+From: Steve Baird
+Sent: Friday, February 22, 2019  5:03 PM
 
-****************************************************************
+I agree, that is clearer.
 
-From: Tucker Taft
-Sent: Friday, February 22, 2019  11:49 AM
+It is past the homework deadline, but I'll try to incorporate this approach.
 
 ****************************************************************
 
-From: Tucker Taft
-Sent: Friday, February 22, 2019  11:49 AM
-
-****************************************************************
+From: Randy Brukardt
+Sent: Friday, February 22, 2019   5:21 PM
 
-From: Tucker Taft
-Sent: Friday, February 22, 2019  11:49 AM
+I still have to file all of the previous attempts on this topic, so you 
+probably have an hour or a bit more.
 
 ****************************************************************
 
-From: Tucker Taft
-Sent: Friday, February 22, 2019  11:49 AM
+From: Steve Baird
+Sent: Friday, February 22, 2019  5:53 PM
+
+See attached. [This is version /07 of the AI - Editor.]
 
 ****************************************************************

Questions? Ask the ACAA Technical Agent