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

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

--- ai22s/ai22-0028-1.html	2022/06/17 06:13:50	1.1
+++ ai22s/ai22-0028-1.html	2022/06/17 06:22:44	1.2
@@ -1,26 +1,32 @@
-<html><head><meta content="text/html; charset=UTF-8" http-equiv="content-type"><title>AI22-0028-1/03</title>
+<html><head><meta content="text/html; charset=UTF-8" http-equiv="content-type"><title>AI22-0028-1/04</title>
 <style type="text/css">
 table td,table th{padding:0}
-.c11{background-color:#ffffff;max-width:468pt;padding:72pt 72pt 72pt 72pt}
+.c13{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}
 P.word{margin-bottom:0; margin-top:0; margin-left:36pt; margin-right:0; padding-top:0pt; color:#000000; font-size:11pt; padding-bottom:3pt; font-family:"Times New Roman","Times",serif; line-height:1.15; orphans:2; widows:2; text-align:left; font-weight:40
0; text-decoration:none; vertical-align:baseline; font-style:normal}
 P.wrds{margin-bottom:0; margin-top:0; margin-left:36pt; margin-right:0; padding-top:0pt; color:#000000; font-size:11pt; padding-bottom:12pt; font-family:"Times New Roman","Times",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}
+UL.wbl{margin-bottom:0; margin-top:0; margin-left:42pt; margin-right:0; padding-top:0pt; color:#000000; font-size:11pt; padding-bottom:3pt; font-family:"Times New Roman","Times",serif; line-height:1.15; orphans:2; widows:2; text-align:left; font-weight:40
0; text-decoration:none; vertical-align:baseline; font-style:normal; list-style: disc outside}
 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.from{margin-bottom:0; margin-top:0; margin-left:0; margin-right:0; padding-top:0pt; color:#000000; font-size:10pt; 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:none}
 P.time{margin-bottom:0; margin-top:0; margin-left:0; margin-right:0; padding-top:0pt; color:#000000; font-size:9pt; padding-bottom:9pt; 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:italic}
 SPAN.name{font-family:"Lucida Calligraphy",cursive; 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}
+SPAN.ins{color:#005500}
+SPAN.del{color:#880000}
+P.a1{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}
+SPAN.a9{font-size:10pt}
 </style>
-</head><body class="c11"><p class="a0">AI22-0028-1</p>
+</head><body class="c13"><p class="a1">AI22-0028-1</p>
 <p class="head">!standard B.3.3(22/2) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;22-04-25
-&nbsp;AI22-0028-1/03</p>
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;22-06-14
+&nbsp;AI22-0028-1/04</p>
 <p class="head">!standard B.3.3(23/2)</p>
 <p class="head">!standard B.3.3(24/2)</p>
 <p class="head">!class binding interpretation 22-01-24</p>
+<p class="head">!status Corrigendum 1-2022 22-06-14</p>
+<p class="head">!status ARG Approved 22-05-05</p>
 <p class="head">!status work item 22-01-24</p>
 <p class="head">!status received 21-11-16</p>
 <p class="head">!priority Very_Low</p>
@@ -28,8 +34,9 @@
 <p class="head">!qualifier Clarification</p>
 <p class="head">!subject Program_Error for unchecked union equality</p>
 <h2 class="head">!summary</h2>
-<p class="text">Program_Error is not raised when equality is checked if a type with a </p>
-<p class="text">user-defined equality encloses the unchecked union component. </p>
+<p class="text">Program_Error is not raised when predefined equality on a record containing an
+unchecked-union subcomponent is evaluated if a component with a </p>
+<p class="text">user-defined equality encloses the unchecked union subcomponent. </p>
 <h2 class="head">!issue</h2>
 <p class="text">It seems that when we changed the rules on equality to make record types use </p>
 <p class="text">their primitive equality everywhere, we didn&#39;t adjust the rules for equality
@@ -56,10 +63,19 @@
 <h2 class="head">!recommendation</h2>
 <p class="text">(See Summary.)</p>
 <h2 class="head">!wording</h2>
+<p class="inst">Modify B.3.3(22/2):</p>
+<p class="word">Program_Error is raised <span class="del">[in the following
+cases:]</span><span class="ins">{upon evaluation of the predefined equality operator for an
+unchecked union type if either of the operands lacks inferable discriminants.}</span></p>
+<p class="inst">Delete B.3.3(23/2): <span class="a9">(it&rsquo;s merged above)</span></p>
+
+<ul class="wbl"><li>Evaluation of the predefined equality operator for an unchecked union type if
+either of the operands lacks inferable discriminants.</li>
+</ul>
 <p class="inst">Delete B.3.3(24/2):</p>
-<p class="word">* Evaluation of the predefined equality operator for a type which </p>
-<p class="word">has a subcomponent of an unchecked union type whose nominal</p>
-<p class="word">subtype is unconstrained.</p>
+<ul class="wbl"><li>Evaluation of the predefined equality operator for a type which has a
+subcomponent of an unchecked union type whose nominal subtype is unconstrained.</li>
+</ul>
 <h2 class="head">!discussion</h2>
 <p class="txts">Note that the current rule requires raising Program_Error in cases where there is
 no problem, but does not allow anything problematic. As such, we do not want to incur any
@@ -73,6 +89,22 @@
 worst kind of incompatibility, where previously correct code would start raising an exception).
 Compilers can certainly provide a warning if they detect that a Program_Error is inevitable, but
 mandating a hard-to-define check was not deemed worthwhile.</p>
+<h2 class="head">!corrigendum B.3.3(22/2)</h2>
+<p class="text">@drepl</p>
+<p class="text">Program_Error is raised in the following cases:</p>
+<p class="text">@dby</p>
+<p class="text">Program_Error is raised upon evaluation of the predefined equality operator for an
+unchecked union type if either of the operands lacks inferable discriminants.</p>
+<h2 class="head">!corrigendum B.3.3(23/2)</h2>
+<p class="text">@ddel</p>
+<p class="txts">@xbullet{Evaluation of the predefined equality operator for an unchecked union type
+if either of the operands lacks inferable discriminants.}</p>
+
+<h2 class="head">!corrigendum B.3.3(24/2)</h2>
+<p class="text">@ddel</p>
+<p class="txts">@xbullet{Evaluation of the predefined equality operator for a type which has a
+subcomponent of an unchecked union type whose nominal subtype is unconstrained.}</p>
+
 <h2 class="head">!ACATS test</h2>
 
 <p class="text">An ACATS C-Test should be constructed to check that a user-defined equality for an
@@ -80,7 +112,7 @@
 raised.</p>
 <h2 class="head">!appendix</h2>
 
-<p class="from">From:<span class="name"> Tucker Taaft</span></p>
+<p class="from">From:<span class="name"> Tucker Taft</span></p>
 <p class="time">Sent: Tuesday, November 16, 2021 &nbsp;12:27 PM</p>
 
 <p class="text">It seems that when we changed the rules on equality to make record types use </p>
@@ -136,5 +168,21 @@
 <p class="txts">&nbsp; &nbsp;type; </p>
 
 <p class="txts">Not great, but should be checkable at compile time...</p>
+
+<p class="txts">**********************************************************************</p>
+
+<p class="from">From:<span class="name"> Randy Brukardt</span></p>
+<p class="time">Sent: Tuesday, June 14, 2021 &nbsp;10:37 PM</p>
+
+<p class="txts">Tucker noticed that the wording would be better if we eliminated the bullets
+altogether and merged the remaining text into a single sentence.</p>
+
+<p class="txts">He did so by simply editing this AI; but since this AI was approved at the May
+meeting, he should not have modified it without an Editorial Review explanation. This note is
+standing in for the missing explanation.</p>
+
+<p class="txts">**********************************************************************</p>
+
+
 
 </body></html> 

Questions? Ask the ACAA Technical Agent