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

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

--- ai22s/ai22-0053-1.html	2022/10/29 04:38:05	1.1
+++ ai22s/ai22-0053-1.html	2023/01/13 03:06:05	1.2
@@ -1,10 +1,10 @@
-<html><head><meta content="text/html; charset=UTF-8" http-equiv="content-type"><title>AI22-0053-1/01</title>
+<html><head><meta content="text/html; charset=UTF-8" http-equiv="content-type"><title>AI22-0053-1/02</title>
 <style type="text/css">
 table td,table th{padding:0}
-.c21{border-right-style:solid;padding:5pt 5pt 5pt 5pt;border-bottom-color:#000000;border-top-width:0pt;border-right-width:0pt;border-left-color:#000000;vertical-align:top;border-right-color:#000000;border-left-width:0pt;border-top-style:solid;background-c
olor:#f0f0f0;border-left-style:solid;border-bottom-width:0pt;width:468pt;border-top-color:#000000;border-bottom-style:solid}
-.c12{border-spacing:0;border-collapse:collapse;margin-right:auto}
-.c20{background-color:#ffffff;max-width:468pt;padding:72pt 72pt 72pt 72pt}
-.c10{height:0pt}
+.c11{border-right-style:solid;padding:5pt 5pt 5pt 5pt;border-bottom-color:#000000;border-top-width:0pt;border-right-width:0pt;border-left-color:#000000;vertical-align:top;border-right-color:#000000;border-left-width:0pt;border-top-style:solid;background-c
olor:#f0f0f0;border-left-style:solid;border-bottom-width:0pt;width:468pt;border-top-color:#000000;border-bottom-style:solid}
+.c18{border-spacing:0;border-collapse:collapse;margin-right:auto}
+.c19{background-color:#ffffff;max-width:468pt;padding:72pt 72pt 72pt 72pt}
+.c14{height:0pt}
 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}
@@ -16,9 +16,9 @@
 P.inds{margin-bottom:0; margin-top:0; margin-left:24pt; 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-decorat
ion: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}
 </style>
-</head><body class="c20 doc-content"><p class="a0">AI22-0053-1</p>
+</head><body class="c19 doc-content"><p class="a0">AI22-0053-1</p>
 <p class="head">!standard 4.5.2(13) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;22-10-27 &nbsp;AI22-0053-1/01</p>
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;23-01-12 &nbsp;AI22-0053-1/02</p>
 <p class="head">!standard 4.5.2(15/5)</p>
 <p class="head">!class binding interpretation 22-10-27</p>
 <p class="head">!status work item 22-10-27</p>
@@ -37,7 +37,7 @@
 part. At one point, that was illegal. AI12-0101-1 made it legal, but failed to adjust the dynamic
 semantics, illustrated by the example below.</p>
 
-<a id="t.5ab16c8b7a98812da7c224f726771c74077b44e3"></a><a id="t.0"></a><table class="c12"><tr class="c10"><td class="c21">
+<a id="t.5ab16c8b7a98812da7c224f726771c74077b44e3"></a><a id="t.0"></a><table class="c18"><tr class="c14"><td class="c11">
 <p class="codt"><b>procedure</b> Test53 <b>is</b><br>
  &nbsp; <b>pragma</b> Assertion_Policy (Check);<br>
 <br>
@@ -101,17 +101,17 @@
 <h2 class="head">!wording</h2>
 <p class="inst">Add after 4.5.2(13):</p>
 
-<p class="wrds">For a record type that is frozen, predefined equality is defined in terms of the
-primitive equals operator of the type.</p>
+<p class="wrds">For a record type, after the first freezing point of the type, predefined equality
+is defined in terms of the primitive equals operator of the type.</p>
 
 <p class="wrds">[Author&#39;s Note: Type extensions already have a separate rule in 4.5.2(14/3),
 and we have the private type rule in 4.5.2(15/3). It seems to make the most sense to have this new
-rule separate and before the existing rules.]</p>
+rule be separate and precede the existing rules.]</p>
 
 <p class="word">AARM Reason: Hidden overriding of &quot;=&quot; is used for all predefined equality
-of the type, so that composition works sensibly. We say &quot;that is frozen&quot; so that the
-squirreling rename can be used to make the actual predefined equality visible if that is
-needed.</p>
+operators &nbsp;of the type, so that composition works sensibly. We say &quot;after the first
+freezing point of the type&quot; so that a squirreling rename can be used to make the actual
+predefined equality visible if that is needed.</p>
 <h2 class="head">!discussion</h2>
 <p class="txts">There are two ways to fix this problem.</p>
 
@@ -127,11 +127,11 @@
 &quot;=&quot; rather than the predefined &quot;=&quot;. AI12-0101-1 argues fairly persuasively that
 this inconsistency is most likely fixing a bug.</p>
 
-<p class="txts">The proposed rule only hides predefined equality for types that are frozen. Any
-attempt to call equals will freeze the associated type, so this does not cause any anomalies. But
-it does allow using a squirreling rename to name to actual predefined equality for an untagged
-record type. This provides a work-around in the unusual case that one needs both the actual
-predefined equality and the overriding equality.</p>
+<p class="txts">The proposed rule only hides predefined equality after the freezing point of a
+type. Any attempt to call equals will freeze the associated type, so this does not cause any
+anomalies. But it does allow using a squirreling rename to name the actual predefined equality for
+an untagged record type. This provides a work-around in the unusual case that one needs both the
+actual predefined equality and the overriding equality.</p>
 
 <p class="text">Note that the proposed rule only changes the effect of &quot;=&quot; for an
 untagged type declared in the visible part of a package specification, and which has an overriding

Questions? Ask the ACAA Technical Agent