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

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

--- ai22s/ai22-0041-1.html	2022/06/17 06:41:34	1.2
+++ ai22s/ai22-0041-1.html	2022/06/24 04:08:54	1.3
@@ -1,14 +1,13 @@
-<html><head><meta content="text/html; charset=UTF-8" http-equiv="content-type"><title>AI22-0041-1/02</title>
+<html><head><meta content="text/html; charset=UTF-8" http-equiv="content-type"><title>AI22-0041-1/03</title>
 <style type="text/css">
 table td,table th{padding:0}
-.c18{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:452.2pt;border-top-color:#000000;border-bottom-style:solid}
-.c9{margin-left:15.8pt;border-spacing:0;border-collapse:collapse;margin-right:auto}
-.c12{background-color:#ffffff;max-width:468pt;padding:72pt 72pt 72pt 72pt}
-.c19{height:0pt}
+.c26{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:452.2pt;border-top-color:#000000;border-bottom-style:solid}
+.c15{margin-left:15.8pt;border-spacing:0;border-collapse:collapse;margin-right:auto}
+.c25{background-color:#ffffff;max-width:468pt;padding:72pt 72pt 72pt 72pt}
+.c21{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}
-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}
 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.codt{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:"Courier New",monospace; line-height:1.15; text-align:left; background-color:#f0f0f0; font-weight:400; tex
t-decoration:none; vertical-align:baseline; font-style:normal}
 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}
@@ -19,15 +18,17 @@
 SPAN.ins{color:#005500}
 SPAN.del{color:#880000}
 SPAN.ntrm{font-family:"Arial","Liberation Sans",sans-serif}
-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}
+P.a3{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="c12"><p class="a1">AI22-0041-1</p>
+</head><body class="c25"><p class="a3">AI22-0041-1</p>
 <p class="head">!standard 7.4(6/3) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
-&nbsp;22-06-15 &nbsp;AI22-0041-1/02</p>
+&nbsp;22-06-23 &nbsp;AI22-0041-1/03</p>
 <p class="head">!standard 7.4(7/2)</p>
 <p class="head">!standard 7.4(7.1/2)</p>
 <p class="head">!class binding interpretation 22-06-14</p>
+<p class="head">!status Corrigendum 1-2022 22-06-23</p>
+<p class="head">!status ARG Approved 15-0-0 &nbsp;22-06-23</p>
 <p class="head">!status work item 22-06-14</p>
 <p class="head">!status received 22-06-07</p>
 <p class="head">!priority Low</p>
@@ -50,7 +51,7 @@
 <p class="txts">Should this example be legal? (No.)</p>
 
 
-<a id="t.ac08b858acc96faca5808079df5e9650e7b332e1"></a><a id="t.0"></a><table class="c9"><tr class="c19"><td class="c18">
+<a id="t.ac08b858acc96faca5808079df5e9650e7b332e1"></a><a id="t.0"></a><table class="c15"><tr class="c21"><td class="c26">
 <p class="codt"><b>package</b> Bad_Deferred_Constant <b>is</b><br>
  &nbsp; <b>pragma</b> Assertion_Policy (Check);<br>
  &nbsp; <b>subtype</b> S <b>is</b> String <b>with</b> Dynamic_Predicate =&gt; (S&#39;Length &gt;=
@@ -65,28 +66,30 @@
 declaration.</p>
 
 <p class="head">!wording</p>
-<p class="inst">Delete&nbsp;7.4(6/3) :</p>
+<p class="inst">Replace&nbsp;7.4(6/3) :</p>
 
-<p class="word">If the deferred constant declaration includes a
-<span class="ntrm">subtype_indication</span> S that defines a constrained subtype, then the
+<ul class="wbl"><li>If the deferred constant declaration includes a
+<span class="ntrm">subtype_indication</span> <i>S</i> that defines a constrained subtype, then the
 constraint defined by the <span class="ntrm">subtype_indication</span> in the full declaration
-shall match the constraint defined by S statically. [Redundant: On the other hand, if the subtype
-of the deferred constant is unconstrained, then the full declaration is still allowed to impose a
-constraint. The constant itself will be constrained, like all constants;]</p>
-<p class="inst">Add after 7.4(6/3):</p>
-
-<p class="word">If the deferred constant declaration includes a
-<span class="ntrm">subtype_indication</span> that defines a subtype S1, then the
-<span class="ntrm">subtype_indication</span> in the full declaration shall define a subtype S2 that
-is statically compatible with S1 (see 4.9.1). If S1 is a constrained subtype, the constraint
-defined by S2 shall statically match the constraint defined by S1. [Redundant: If the subtype S1 of
-the deferred constant is unconstrained, then the full declaration is still allowed to impose a
-constraint.]</p>
+shall match the constraint defined by <i>S</i> statically. [Redundant: On the other hand, if the
+subtype of the deferred constant is unconstrained, then the full declaration is still allowed to
+impose a constraint. The constant itself will be constrained, like all constants;]</li>
+</ul>
+<p class="inst">with:</p>
+
+<ul class="wbl"><li>If the deferred constant declaration includes a
+<span class="ntrm">subtype_indication</span> that defines a subtype <i>S1</i>, then the
+<span class="ntrm">subtype_indication</span> in the full declaration shall define a subtype
+<i>S2</i> that is statically compatible with <i>S1</i> (see 4.9.1). If S1 is a constrained subtype,
+the constraint defined by <i>S2</i> shall statically match the constraint defined by<i> S1</i>.
+[Redundant: If the subtype <i>S1</i> of the deferred constant is unconstrained, then the full
+declaration is still allowed to impose a constraint.]</li>
+</ul>
 <p class="inst">Modify 7.4(7/2):</p>
 <ul class="wbl"><li>If the deferred constant declaration contains the reserved word <b>aliased</b>,
 then the full declaration shall also<span class="ins">{.}</span><span class="del">[;]</span></li>
 </ul>
-<p class="inst">Delete 7.4(7.1/2):</p>
+<p class="inst">Delete 7.4(7.1/2) [now covered by static compatibility]:</p>
 <ul class="wbl"><li>If the subtype of the deferred constant declaration excludes null, then the
 subtype of the full declaration shall also exclude null.</li>
 </ul>
@@ -103,6 +106,32 @@
 with no real gain.</p>
 <h2 class="head">!example</h2>
 <p class="text">(See issue.)</p>
+<h2 class="head">!corrigendum 7.4(6/3)</h2>
+<p class="text">@drepl</p>
+<p class="text">@xbullet{If the deferred constant declaration includes a @fa{subtype_indication}
+@i{S} that defines a constrained subtype, then the constraint defined by the
+@fa{subtype_indication} in the full declaration shall match the constraint defined by
+@i{S}statically. On the other hand, if the subtype of the deferred constant is unconstrained, then
+the full declaration is still allowed to impose a constraint. The constant itself will be
+constrained, like all constants;}</p>
+<p class="text">@dby</p>
+<p class="text">@xbullet{If the deferred constant declaration includes a @fa{subtype_indication}
+that defines a subtype @i{S1}, then the @fa{subtype_indication} in the full declaration shall
+define a subtype @i{S2} that is statically compatible with @i{S1} (see 4.9.1). If @i{S1} is a
+constrained subtype, the constraint defined by @i{S2} shall statically match the constraint defined
+by @i{S1}. If the subtype @i{S1} of the deferred constant is unconstrained, then the full
+declaration is still allowed to impose a constraint.}</p>
+<h2 class="head">!corrigendum 7.4(7/2)</h2>
+<p class="text">@drepl</p>
+<p class="text">@xbullet{If the deferred constant declaration contains the reserved word
+@b{aliased}, then the full declaration shall also;}</p>
+<p class="text">@dby</p>
+<p class="text">@xbullet{If the deferred constant declaration contains the reserved word
+@b{aliased}, then the full declaration shall also.}</p>
+<h2 class="head">!corrigendum 7.4(7.1/2)</h2>
+<p class="text">@ddel</p>
+<p class="text">@xbullet{If the subtype of the deferred constant declaration excludes null, then
+the subtype of the full declaration shall also exclude null.}</p>
 <h2 class="head">!ACATS test</h2>
 <p class="text">A B-test similar to the given example could be written.</p>
 <h2 class="head">!appendix</h2>

Questions? Ask the ACAA Technical Agent