CVS difference for ai22s/ai22-0038-1.html

Differences between 1.1 and version 1.2
Log of other versions for file ai22s/ai22-0038-1.html

--- ai22s/ai22-0038-1.html	2022/06/17 06:13:50	1.1
+++ ai22s/ai22-0038-1.html	2022/06/21 23:58:05	1.2
@@ -1,7 +1,7 @@
-<html><head><meta content="text/html; charset=UTF-8" http-equiv="content-type"><title>AI22-0038-1/02</title>
+<html><head><meta content="text/html; charset=UTF-8" http-equiv="content-type"><title>AI22-0038-1/03</title>
 <style type="text/css">
 table td,table th{padding:0}
-.c9{background-color:#ffffff;max-width:468pt;padding:72pt 72pt 72pt 72pt}
+.c8{background-color:#ffffff;max-width:468pt;padding:72pt 72pt 72pt 72pt}
 P.head{margin-bottom:0; margin-top:0; margin-left:0; margin-right:0; padding-top:0pt; color:#000000; font-size:14pt; padding-bottom:0pt; font-family:"Arial","Liberation Sans",sans-serif; line-height:1.15; orphans:2; widows:2; text-align:left; font-weight:
400; text-decoration:none; vertical-align:baseline; font-style:normal}
 H2.head{margin-bottom:0; margin-top:0; margin-left:0; margin-right:0; padding-top:12pt; color:#000000; font-size:14pt; padding-bottom:6pt; font-family:"Arial","Liberation Sans",sans-serif; line-height:1.15; page-break-after:avoid; orphans:2; widows:2; tex
t-align:left; font-weight:400; text-decoration:none; vertical-align:baseline; font-style:normal}
 P.inst{margin-bottom:0; margin-top:0; margin-left:18pt; margin-right:0; padding-top:9pt; color:#000000; font-size:12pt; padding-bottom:6pt; font-family:"Arial","Liberation Sans",sans-serif;line-height:1.15; orphans:2; widows:2; text-align:left; font-weigh
t:400; text-decoration:none; vertical-align:baseline; font-style:normal}
@@ -9,11 +9,10 @@
 P.text{margin-bottom:0; margin-top:0; margin-left:0; margin-right:0; padding-top:0pt; color:#000000; font-size:11pt; padding-bottom:0pt; font-family:"Arial","Liberation Sans",sans-serif; line-height:1.15; text-align:left; font-weight:400; text-decoration:
none; vertical-align:baseline; font-style:normal}
 P.txts{margin-bottom:0; margin-top:0; margin-left:0; margin-right:0; padding-top:0pt; color:#000000; font-size:11pt; padding-bottom:11pt; font-family:"Arial","Liberation Sans",sans-serif; line-height:1.15; text-align:left; font-weight:400; text-decoration
:none; vertical-align:baseline; font-style:normal}
 P.a0{margin-bottom:0; margin-top:0; margin-left:0; margin-right:0;color:#000000;font-size:26pt;font-family:"Arial","Liberation Sans",sans-serif; padding-top:0pt; padding-bottom:3pt; line-height:1.15; page-break-after:avoid; orphans:2; widows:2; text-align
:left; font-weight:400; text-decoration:none; vertical-align:baseline; font-style:normal}
-P.a6{margin-bottom:0; margin-top:0; margin-left:0; margin-right:0; padding-top:0pt; color:#000000; font-size:14pt; padding-bottom:13pt; font-family:"Arial","Liberation Sans",sans-serif; line-height:1.15; orphans:2; widows:2; text-align:left; font-weight:4
00; text-decoration:none; vertical-align:baseline; font-style:normal}
 </style>
-</head><body class="c9"><p class="a0">AI22-0038-1</p>
+</head><body class="c8"><p class="a0">AI22-0038-1</p>
 <p class="head">!standard 7.3.2(1/5) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;22-04-26 &nbsp;AI22-0038-1/02</p>
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;22-06-05 &nbsp;AI22-0038-1/03</p>
 <p class="head">!class presentation 22-02-04</p>
 <p class="head">!status work item 22-02-04</p>
 <p class="head">!status received 21-05-20</p>
@@ -45,28 +44,26 @@
 
 <p class="inst">Add before 7.3.2(1/5):</p>
 
-<p class="wrds">A type invariant is an assertion about the state of objects of a private type
-defined in a given package. The type invariant is enforced on every object of the type at the
-boundary when it becomes accessible to clients of the package, but is not enforced on any objects
-while inside an operation of the package. If a class-wide type invariant is specified, then it
-becomes an additional invariant applied to the objects of every type descended from the root of the
-class-wide type. A type invariant can be thought of as an implicit postcondition that applies to
-each object of the given private type that is updated by an externally callable subprogram of the
-defining package.</p>
+<p class="wrds">A type invariant for a given private type is an assertion that is expected to be
+true about every object of the type, except when such an object is in the middle of an operation
+that has visibility on the representation of its full type. The type invariant is enforced much
+like a postcondition, when such an object completes default initialization, or upon return from an
+externally callable subprogram that might update the object, and has visibility on the full type.
+</p>
 
-<p class="a6">!discussion</p>
+<p class="head">!discussion</p>
 
 <p class="txts">Most subclauses have some sort of introduction, it&#39;s unusual that this one does
 not.</p>
 
-<p class="a6">!corrigendum 7.3.2(1/5)</p>
+<p class="head">!corrigendum 7.3.2(1/5)</p>
 
 
-<p class="a6">!ACATS test</p>
+<p class="head">!ACATS test</p>
 
 <p class="txts">No tests are needed for presentation changes.</p>
 
-<p class="a6">!appendix</p>
+<p class="head">!appendix</p>
 
 <p class="text">From: Niklas Holsti</p>
 <p class="txts">WG 9 Review issue #148 - May 20, 2021</p>

Questions? Ask the ACAA Technical Agent