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

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

--- ai22s/ai22-0040-1.html	2022/06/18 04:17:03	1.3
+++ ai22s/ai22-0040-1.html	2022/09/10 09:05:14	1.4
@@ -1,13 +1,13 @@
-<html><head><meta content="text/html; charset=UTF-8" http-equiv="content-type"><title>AI22-0040-1/02</title>
+<html><head><meta content="text/html; charset=UTF-8" http-equiv="content-type"><title>AI22-0040-1/03</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}
-.c23{border-spacing:0;border-collapse:collapse;margin-right:auto}
-.c8{color:inherit;text-decoration:inherit}
-.c65{max-width:468pt;padding:72pt 72pt 72pt 72pt}
-.c58{border:1px solid black;margin:5px}
-.c40{height:0pt}
-.c22{background-color:#ffffff}
+.c40{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}
+.c24{text-decoration-skip-ink:none;-webkit-text-decoration-skip:none;color:#1155cc;text-decoration:underline}
+.c44{border-spacing:0;border-collapse:collapse;margin-right:auto}
+.c28{background-color:#ffffff;max-width:468pt;padding:72pt 72pt 72pt 72pt}
+.c17{color:inherit;text-decoration:inherit}
+.c21{border:1px solid black;margin:5px}
+.c36{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}
@@ -30,48 +30,49 @@
 SPAN.ins{color:#005500}
 SPAN.del{color:#880000}
 SPAN.ntrm{font-family:"Arial","Liberation Sans",sans-serif}
-P.a6{margin-bottom:0; margin-top:0; margin-left:0; margin-right:0;color:#000000;font-size:26pt;font-family:"Arial","Liberation Sans",sans-serif; page-break-after:avoid; padding-top:0pt; padding-bottom:3pt; line-height:1.15; orphans:2; widows:2; text-align
:left}
-SPAN.a19{color:#1155cc; text-decoration-skip-ink:none; -webkit-text-decoration-skip:none; text-decoration:underline}
-P.a34{margin-bottom:0; margin-top:0; margin-left:0; margin-right:0;color:#500050;font-size:11pt;font-family:"Arial","Liberation Sans",sans-serif; padding-top:0pt; padding-bottom:0pt; line-height:1.15; orphans:2; widows:2; text-align:left; height:11pt; tex
t-decoration:none; vertical-align:baseline; font-style:normal; font-weight:400}
-P.a36{margin-bottom:0; margin-top:0; margin-left:0; margin-right:0;color:#000000;font-size:7.5pt;font-family:"Arial","Liberation Sans",sans-serif; padding-top:2pt; padding-bottom:0pt; line-height:1.15; orphans:2; widows:2; text-align:left; text-decoration
:none; vertical-align:baseline; font-style:normal; font-weight:400}
-P.a44{margin-bottom:0; margin-top:0; margin-left:36pt; margin-right:0;color:#000000;font-size:11pt;font-family:"Times New Roman","Times",serif; padding-top:0pt; padding-bottom:0pt; line-height:1.15; orphans:2; widows:2; text-align:left; text-decoration:no
ne; vertical-align:baseline; font-style:normal; font-weight:400}
-P.a46{margin-bottom:0; margin-top:0; margin-left:0; margin-right:0;color:#1155cc;font-size:10pt;font-family:"Arial","Liberation Sans",sans-serif; padding-top:0pt; padding-bottom:0pt; line-height:1.15; orphans:2; widows:2; text-align:left; vertical-align:b
aseline; font-style:normal; font-weight:400; text-decoration:none}
-P.a48{margin-bottom:0; margin-top:0; margin-left:0; margin-right:0;color:#1155cc;font-size:11pt;font-family:"Arial","Liberation Sans",sans-serif; padding-top:0pt; padding-bottom:0pt; line-height:1.15; orphans:2; widows:2; text-align:left; text-decoration:
none; vertical-align:baseline; font-style:normal; font-weight:400}
-SPAN.a54{background-color:#ffffff}
-P.a65{margin-bottom:0; margin-top:0; margin-left:20pt; margin-right:0;color:#006600;font-size:12pt;font-family:"Times New Roman","Times",serif; padding-top:0pt; padding-bottom:4pt; line-height:1.2954545454545454; orphans:2; widows:2; text-align:left; font
-weight:400}
-SPAN.a66{color:#000000}
-SPAN.a67{-webkit-text-decoration-skip:none; color:#1155cc; text-decoration:underline; text-decoration-skip-ink:none; font-style:italic}
-SPAN.a68{-webkit-text-decoration-skip:none;text-decoration:underline; text-decoration-skip-ink:none;vertical-align:baseline; font-style:normal}
+P.a5{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}
+P.a33{margin-bottom:0; margin-top:0; margin-left:0; margin-right:0;color:#500050;font-size:11pt;font-family:"Arial","Liberation Sans",sans-serif; padding-top:0pt; padding-bottom:0pt; line-height:1.15; orphans:2; widows:2; text-align:left; height:11pt; tex
t-decoration:none; vertical-align:baseline; font-style:normal; font-weight:400}
+P.a35{margin-bottom:0; margin-top:0; margin-left:0; margin-right:0;color:#000000;font-size:7.5pt;font-family:"Arial","Liberation Sans",sans-serif; padding-top:2pt; padding-bottom:0pt; line-height:1.15; orphans:2; widows:2; text-align:left; font-weight:400
; text-decoration:none; vertical-align:baseline; font-style:normal}
+P.a43{margin-bottom:0; margin-top:0; margin-left:36pt; margin-right:0;color:#000000;font-size:11pt;font-family:"Times New Roman","Times",serif; padding-top:0pt; padding-bottom:0pt; line-height:1.15; orphans:2; widows:2; text-align:left; font-weight:400; t
ext-decoration:none; vertical-align:baseline; font-style:normal}
+P.a45{margin-bottom:0; margin-top:0; margin-left:0; margin-right:0;color:#1155cc;font-size:10pt;font-family:"Arial","Liberation Sans",sans-serif; padding-top:0pt; padding-bottom:0pt; line-height:1.15; orphans:2; widows:2; text-align:left; font-weight:400;
 vertical-align:baseline; font-style:normal; text-decoration:none}
+P.a47{margin-bottom:0; margin-top:0; margin-left:0; margin-right:0;color:#1155cc;font-size:11pt;font-family:"Arial","Liberation Sans",sans-serif; padding-top:0pt; padding-bottom:0pt; line-height:1.15; orphans:2; widows:2; text-align:left; text-decoration:
none; vertical-align:baseline; font-style:normal; font-weight:400}
+SPAN.a52{background-color:#ffffff}
+P.a63{margin-bottom:0; margin-top:0; margin-left:20pt; margin-right:0;color:#006600;font-size:12pt;font-family:"Times New Roman","Times",serif; padding-top:0pt; padding-bottom:4pt; line-height:1.2954545454545454; orphans:2; widows:2; text-align:left; font
-weight:400}
+SPAN.a64{color:#000000}
+SPAN.a65{text-decoration-skip-ink:none; -webkit-text-decoration-skip:none; color:#1155cc; text-decoration:underline;font-style:italic}
+SPAN.a66{-webkit-text-decoration-skip:none;text-decoration:underline; text-decoration-skip-ink:none;vertical-align:baseline; font-style:normal}
 P.a69{margin-bottom:0; margin-top:0; margin-left:42pt; margin-right:22pt;color:#006600;font-size:12pt;font-family:"Times New Roman","Times",serif; padding-top:0pt; padding-bottom:6pt; line-height:1.2954545454545454; orphans:2; widows:2; text-align:left}
 SPAN.a70{font-weight:400; color:#000000}
-SPAN.a71{-webkit-text-decoration-skip:none; color:#1155cc; text-decoration:underline; text-decoration-skip-ink:none; font-style:italic;font-weight:400}
-SPAN.a72{-webkit-text-decoration-skip:none;font-weight:400; text-decoration:underline; text-decoration-skip-ink:none}
-SPAN.a73{text-decoration-skip-ink:none; font-size:10.5pt; -webkit-text-decoration-skip:none; color:#1155cc; text-decoration:underline; font-family:"Arial","Liberation Sans",sans-serif}
-SPAN.a74{-webkit-text-decoration-skip:none;font-weight:400; text-decoration:underline; text-decoration-skip-ink:none;vertical-align:baseline; font-style:normal}
+SPAN.a71{text-decoration-skip-ink:none; -webkit-text-decoration-skip:none; color:#1155cc; text-decoration:underline;font-weight:400; font-style:italic}
+SPAN.a72{-webkit-text-decoration-skip:none;text-decoration:underline; text-decoration-skip-ink:none;font-weight:400}
+SPAN.a73{text-decoration-skip-ink:none; -webkit-text-decoration-skip:none; color:#1155cc; text-decoration:underline; font-size:10.5pt; font-family:"Arial","Liberation Sans",sans-serif}
+SPAN.a74{-webkit-text-decoration-skip:none;text-decoration:underline; text-decoration-skip-ink:none;font-weight:400; vertical-align:baseline; font-style:normal}
 P.a77{margin-bottom:0; margin-top:0; margin-left:42pt; margin-right:22pt;color:#000000;font-size:12pt;font-family:"Times New Roman","Times",serif; padding-top:0pt; padding-bottom:3pt; line-height:1.2954545454545454; orphans:2; widows:2; text-align:left; f
ont-weight:400}
-SPAN.a78{vertical-align:baseline; font-style:normal;text-decoration:none}
+SPAN.a78{text-decoration:none; vertical-align:baseline; font-style:normal}
 P.a79{margin-bottom:0; margin-top:0; margin-left:64pt; margin-right:22pt;color:#000000;font-size:12pt;font-family:"Times New Roman","Times",serif; padding-top:0pt; padding-bottom:6pt; line-height:1.2954545454545454; orphans:2; widows:2; text-align:left; f
ont-weight:400}
-SPAN.a80{-webkit-text-decoration-skip:none; color:#006600;text-decoration:underline; text-decoration-skip-ink:none}
+SPAN.a80{-webkit-text-decoration-skip:none; color:#006600; text-decoration:underline; text-decoration-skip-ink:none}
 SPAN.a82{text-decoration:none; vertical-align:baseline;font-family:"Arial","Liberation Sans",sans-serif; font-style:normal}
-SPAN.a84{font-size:10pt;color:#0000ff}
+SPAN.a84{color:#0000ff;font-size:10pt}
 SPAN.a85{background-color:#f0f0f0; font-family:"Courier New",monospace}
 SPAN.a86{background-color:#f0f0f0; font-family:"Courier New",monospace; color:#880000}
 SPAN.a87{font-family:"Courier New",monospace}
 P.a88{margin-bottom:0; margin-top:0; margin-left:42pt; margin-right:22pt; color:#006600; font-size:12pt; font-family:"Times New Roman","Times",serif; padding-top:0pt; padding-bottom:19pt; line-height:1.2954545454545454; orphans:2; widows:2; text-align:lef
t}
-P.a89{margin-bottom:0; margin-top:0; margin-left:0; margin-right:0; color:#500050; font-size:11pt; font-family:"Arial","Liberation Sans",sans-serif; padding-top:0pt; padding-bottom:13pt; line-height:1.15; orphans:2; widows:2; text-align:left; text-decorat
ion:none; vertical-align:baseline; font-style:normal; font-weight:400}
+P.a89{margin-bottom:0; margin-top:0; margin-left:0; margin-right:0; color:#500050; font-size:11pt; font-family:"Arial","Liberation Sans",sans-serif; padding-top:0pt; padding-bottom:13pt; line-height:1.15; orphans:2; widows:2; text-align:left; font-weight:
400; text-decoration:none; vertical-align:baseline; font-style:normal}
 P.a90{margin-bottom:0; margin-top:0; margin-left:120pt; margin-right:0; color:#500050; font-size:11pt; font-family:"Arial","Liberation Sans",sans-serif; padding-top:0pt; padding-bottom:13pt; line-height:1.15; orphans:2; widows:2; text-align:left; text-dec
oration:none; vertical-align:baseline; font-style:normal; font-weight:400}
 P.a91{margin-bottom:0; margin-top:0; margin-left:36pt; margin-right:0; color:#000000; font-size:11pt; font-family:"Times New Roman","Times",serif; padding-top:0pt; padding-bottom:13pt; line-height:1.15; orphans:2; widows:2; text-align:left; font-weight:40
0}
 P.a92{margin-bottom:0; margin-top:0; margin-left:0; margin-right:0; color:#1155cc; font-size:10pt; font-family:"Arial","Liberation Sans",sans-serif; padding-top:0pt; padding-bottom:13pt; line-height:1.15; orphans:2; widows:2; text-align:left}
 </style>
-</head><body class="c22 c65"><p class="a6">AI22-0040-1</p>
+</head><body class="c28 doc-content"><p class="a5">AI22-0040-1</p>
 <sup><a href="#cmnt1" id="cmnt_ref1">[a]</a></sup><sup><a href="#cmnt2" id="cmnt_ref2">[b]</a></sup><p class="text">&nbsp;</p>
 <p class="head">!standard 7.6.1(3) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;22-03-22 &nbsp;AI22-0040-1/02</p>
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;22-09-09 &nbsp;AI22-0040-1/03</p>
 <p class="head">!standard 4.4(9.7)</p>
 <p class="head">!standard 6.6.1(22.12)</p>
 <p class="head">!standard 7.6(18)</p>
 <p class="head">!standard 7.6.1(13.1)</p>
 <p class="head">!class binding interpretation 22-03-22</p>
+<p class="head">!status Corrigendum 1-2022 &nbsp;22-09-09</p>
+<p class="head">!status ARG Approved &nbsp;10-0-0 &nbsp;22-09-09</p>
 <p class="head">!status work item 22-03-04</p>
 <p class="head">!status received 22-03-01</p>
 <p class="head">!priority Medium</p>
@@ -91,7 +92,7 @@
 classic case -- a quantified expression where the expression creates one or more controlled
 temporaries upon each iteration:</p>
 
-<a id="t.d3821403bc86108120370f1e0af3bfa0b700c2f5"></a><a id="t.0"></a><table class="c23"><tr class="c40"><td class="c21">
+<a id="t.d3821403bc86108120370f1e0af3bfa0b700c2f5"></a><a id="t.0"></a><table class="c44"><tr class="c36"><td class="c40">
 <p class="codt">&nbsp;All_Positive : <b>constant</b> Boolean := (<b>for</b> <b>all</b> E <b>of</b>
 C =&gt; F (E).B &gt; 0);</p>
 </td></tr></table><p class="text">&nbsp;</p>
@@ -115,11 +116,11 @@
 
 <p class="word">The following subexpressions are repeatedly evaluated:</p>
 <ul class="wbls"><li>A subexpression of a predicate of a
-<span class="ntrm"><a class="c8" href="http://www.ada-auth.org/standards/2xaarm/html/AA-4-5-8.html#S0153">quantified_expression</a></span>;</li>
+<span class="ntrm"><a class="c17" href="http://www.ada-auth.org/standards/2xaarm/html/AA-4-5-8.html#S0153">quantified_expression</a></span>;</li>
 <li>A subexpression of the expression of an
-<span class="ntrm"><a class="c8" href="http://www.ada-auth.org/standards/2xaarm/html/AA-4-3-3.html#S0118">array_component_association</a></span>;</li>
+<span class="ntrm"><a class="c17" href="http://www.ada-auth.org/standards/2xaarm/html/AA-4-3-3.html#S0118">array_component_association</a></span>;</li>
 <li>A subexpression of the expression of a
-<span class="ntrm"><a class="c8" href="http://www.ada-auth.org/standards/2xaarm/html/AA-4-3-5.html#S0128">container_element_association</a></span>.</li>
+<span class="ntrm"><a class="c17" href="http://www.ada-auth.org/standards/2xaarm/html/AA-4-3-5.html#S0128">container_element_association</a></span>.</li>
 </ul>
 
 <p class="txts">This seems to be missing the case of the key_expression and the expression of an
@@ -167,7 +168,7 @@
 coextensions, etc. &nbsp;But alas, we are not &quot;officially&quot; allowed to, because when the
 object was created, it was associated with the master of the function call, and so isn&#39;t
 expected to be finalized before that master is complete. &nbsp;But as above, that is undesirable
-from both a performance and compiler complexity <span class="a54">point of view. &nbsp;Hence, we
+from both a performance and compiler complexity <span class="a52">point of view. &nbsp;Hence, we
 recommend an implementation permission, probably in front of 7.6(18/3), as the first implementation
 permission, immediately after the discussion of &quot;built in place&quot;, to permit immediate
 finalization of such objects.</span></p>
@@ -222,7 +223,7 @@
 <p class="txts">It should be noted that this issue occurs even in Ada 95 constructs, such as array
 aggregates:</p>
 
-<a id="t.ce0b75da1a336240417d5578e4ebd2b9e594b9c0"></a><a id="t.1"></a><table class="c23"><tr class="c40"><td class="c21">
+<a id="t.ce0b75da1a336240417d5578e4ebd2b9e594b9c0"></a><a id="t.1"></a><table class="c44"><tr class="c36"><td class="c40">
 <p class="codt">&nbsp; &nbsp; <b>return</b> (1 .. Computed_Length =&gt; Func.C);</p>
 </td></tr></table><p class="text">&nbsp;</p>
 <p class="txts">where Func returns a controlled object.</p>
@@ -230,7 +231,7 @@
 <p class="txts">It also should be noted that the proposed solution is (slightly) incompatible, as a
 construct like:</p>
 
-<a id="t.d6b03f567caee4099daa0b9f34192c93428c2377"></a><a id="t.2"></a><table class="c23"><tr class="c40"><td class="c21">
+<a id="t.d6b03f567caee4099daa0b9f34192c93428c2377"></a><a id="t.2"></a><table class="c44"><tr class="c36"><td class="c40">
 <p class="codt">&nbsp; &nbsp;<b>return</b> Some_Array&#39;(<b>others</b> =&gt; Cont_Func(2));</p>
 </td></tr></table><p class="text">&nbsp;</p>
 <p class="txts">where Cont_Func is a function returning a container, would become illegal as the
@@ -243,14 +244,14 @@
 into it. The first is an obvious performance and implementation problem, and the latter is allowing
 erroneous execution for an innocuous construct.</p>
 
-<p class="text">Some of these cases can be eliminated by e<span class="a54">liminating the
+<p class="text">Some of these cases can be eliminated by e<span class="a52">liminating the
 temporaries using the various build-in-place permissions. But we don&rsquo;t want the language to
 effectively require the use of those permissions.</span></p>
 <h2 class="head">!example</h2>
 
 <p class="txts">Here is the example given in the !issue section:</p>
 
-<a id="t.d3821403bc86108120370f1e0af3bfa0b700c2f5"></a><a id="t.3"></a><table class="c23"><tr class="c40"><td class="c21">
+<a id="t.d3821403bc86108120370f1e0af3bfa0b700c2f5"></a><a id="t.3"></a><table class="c44"><tr class="c36"><td class="c40">
 <p class="codt">&nbsp;All_Positive : <b>constant</b> Boolean := (<b>for</b> <b>all</b> E <b>of</b>
 C =&gt; F (E).B &gt; 0);</p>
 </td></tr></table><p class="text">&nbsp;</p>
@@ -261,7 +262,7 @@
 <p class="txts">In addition, in a case where such an expression is being used to initialize a newly
 created object, such as in:</p>
 
-<a id="t.2007e6bb869143d669a272531a7f87d542e60f2d"></a><a id="t.4"></a><table class="c23"><tr class="c40"><td class="c21">
+<a id="t.2007e6bb869143d669a272531a7f87d542e60f2d"></a><a id="t.4"></a><table class="c44"><tr class="c36"><td class="c40">
 <p class="codt">&nbsp;Aggr : <b>constant</b> Array_Of_Controlled := [<b>for</b> I <b>in</b> 1 ..
 100 =&gt; F(I)];</p>
 </td></tr></table><p class="text">&nbsp;</p>
@@ -273,7 +274,7 @@
 <p class="txts">The need for this extra permission does not only come up in iterative contexts.
 &nbsp;It can also be as simple as:</p>
 
-<a id="t.d14724bd4238c5459e427529e95837135cdb0d22"></a><a id="t.5"></a><table class="c23"><tr class="c40"><td class="c21">
+<a id="t.d14724bd4238c5459e427529e95837135cdb0d22"></a><a id="t.5"></a><table class="c44"><tr class="c36"><td class="c40">
 <p class="codt">&nbsp;X : <b>constant</b> Has_Controlled_Part := F(Y);</p>
 </td></tr></table><p class="text">&nbsp;</p>
 <p class="text">presuming that the compiler does not build the result of F(Y) directly in X.
@@ -316,22 +317,22 @@
 &quot;repeatedly evaluated&quot; expressions, as part of defining &quot;known on entry&quot; in
 6.1.1, Preconditions and Postconditions, paragraphs 22.12/5 to 22.15/5:</p>
 
-<p class="a36">22.12/5</p>
-<p class="a65"><span class="a66">&nbsp;
-&nbsp;{</span><span class="a67"><a class="c8" href="http://www.ada-auth.org/cgi-bin/cvsweb.cgi/AI12s/AI12-0280-2.TXT">AI12-0280-2</a></span><span class="a66">}
-</span><span class="a68">The following subexpressions are repeatedly evaluated:</span></p>
-<p class="a36">22.13/5</p>
-<p class="a69"><span class="a70">{</span><span class="a71"><a class="c8" href="http://www.ada-auth.org/cgi-bin/cvsweb.cgi/AI12s/AI12-0280-2.TXT">AI12-0280-2</a></span><span class="a70">}
+<p class="a35">22.12/5</p>
+<p class="a63"><span class="a64">&nbsp;
+&nbsp;{</span><span class="a65"><a class="c17" href="http://www.ada-auth.org/cgi-bin/cvsweb.cgi/AI12s/AI12-0280-2.TXT">AI12-0280-2</a></span><span class="a64">}
+</span><span class="a66">The following subexpressions are repeatedly evaluated:</span></p>
+<p class="a35">22.13/5</p>
+<p class="a69"><span class="a70">{</span><span class="a71"><a class="c17" href="http://www.ada-auth.org/cgi-bin/cvsweb.cgi/AI12s/AI12-0280-2.TXT">AI12-0280-2</a></span><span class="a70">}
 </span><span class="a72">A subexpression of a predicate of a
-</span><span class="a73"><a class="c8" href="http://www.ada-auth.org/standards/2xaarm/html/AA-4-5-8.html#S0153">quantified_expression</a></span><span class="a74">;</span></p>
-<p class="a36">22.14/5</p>
-<p class="a69"><span class="a70">{</span><span class="a71"><a class="c8" href="http://www.ada-auth.org/cgi-bin/cvsweb.cgi/AI12s/AI12-0280-2.TXT">AI12-0280-2</a></span><span class="a70">}
+</span><span class="a73"><a class="c17" href="http://www.ada-auth.org/standards/2xaarm/html/AA-4-5-8.html#S0153">quantified_expression</a></span><span class="a74">;</span></p>
+<p class="a35">22.14/5</p>
+<p class="a69"><span class="a70">{</span><span class="a71"><a class="c17" href="http://www.ada-auth.org/cgi-bin/cvsweb.cgi/AI12s/AI12-0280-2.TXT">AI12-0280-2</a></span><span class="a70">}
 </span><span class="a72">A subexpression of the expression of an
-</span><span class="a73"><a class="c8" href="http://www.ada-auth.org/standards/2xaarm/html/AA-4-3-3.html#S0118">array_component_association</a></span><span class="a74">;</span></p>
-<p class="a36">22.15/5</p>
-<p class="a88"><span class="a70">{</span><span class="a71"><a class="c8" href="http://www.ada-auth.org/cgi-bin/cvsweb.cgi/AI12s/AI12-0280-2.TXT">AI12-0280-2</a></span><span class="a70">}
+</span><span class="a73"><a class="c17" href="http://www.ada-auth.org/standards/2xaarm/html/AA-4-3-3.html#S0118">array_component_association</a></span><span class="a74">;</span></p>
+<p class="a35">22.15/5</p>
+<p class="a88"><span class="a70">{</span><span class="a71"><a class="c17" href="http://www.ada-auth.org/cgi-bin/cvsweb.cgi/AI12s/AI12-0280-2.TXT">AI12-0280-2</a></span><span class="a70">}
 </span><span class="a72">A subexpression of the expression of a
-</span><span class="a73"><a class="c8" href="http://www.ada-auth.org/standards/2xaarm/html/AA-4-3-5.html#S0128">container_element_association</a></span><span class="a74">.</span></p>
+</span><span class="a73"><a class="c17" href="http://www.ada-auth.org/standards/2xaarm/html/AA-4-3-5.html#S0128">container_element_association</a></span><span class="a74">.</span></p>
 
 
 <p class="txts">This seems to be missing the case of the key_expression and the expression of an
@@ -371,13 +372,13 @@
 3.10.2(10.1/3-10.2/5) we define the &quot;master of the function call&quot; for a function whose
 (composite) result is used to initialize an object:</p>
 
-<p class="a36">10.1/3</p>
-<p class="a77">{<span class="a67"><a class="c8" href="http://www.ada-auth.org/cgi-bin/cvsweb.cgi/AI05s/AI05-0234-1.TXT">AI05-0234-1</a></span>}
+<p class="a35">10.1/3</p>
+<p class="a77">{<span class="a65"><a class="c17" href="http://www.ada-auth.org/cgi-bin/cvsweb.cgi/AI05s/AI05-0234-1.TXT">AI05-0234-1</a></span>}
 The accessibility level of the result of a function call is that of the <i>master of the function
 call</i><span class="a78">, which is determined by the point of call as follows:</span></p>
-<p class="a36">10.2/5</p>
-<p class="a79">{<span class="a67"><a class="c8" href="http://www.ada-auth.org/cgi-bin/cvsweb.cgi/AI05s/AI05-0234-1.TXT">AI05-0234-1</a></span>}
-{<span class="a67"><a class="c8" href="http://www.ada-auth.org/cgi-bin/cvsweb.cgi/AI12s/AI12-0402-1.TXT">AI12-0402-1</a></span>}
+<p class="a35">10.2/5</p>
+<p class="a79">{<span class="a65"><a class="c17" href="http://www.ada-auth.org/cgi-bin/cvsweb.cgi/AI05s/AI05-0234-1.TXT">AI05-0234-1</a></span>}
+{<span class="a65"><a class="c17" href="http://www.ada-auth.org/cgi-bin/cvsweb.cgi/AI12s/AI12-0402-1.TXT">AI12-0402-1</a></span>}
 If <span class="a80">the result type at the point of the function (or access-to-function type)
 declaration is a composite type, and </span><span class="a78">the result is used (in its entirety)
 to directly initialize part of an object, the master is that of the object being initialized. In
@@ -550,7 +551,7 @@
 &quot;active AIs&quot; folder:</p>
 
 <p class="txts">&nbsp;
-&nbsp;<span class="a19"><a class="c8" href="https://docs.google.com/document/d/1f1GIa7gP2yx_W76tE2lcVEnYFoY3VDC06QKhXlmEfwc/edit?usp=sharing">AI22-0040-1
+&nbsp;<span class="c24"><a class="c17" href="https://docs.google.com/document/d/1f1GIa7gP2yx_W76tE2lcVEnYFoY3VDC06QKhXlmEfwc/edit?usp=sharing">AI22-0040-1
 Finalization and Implicit Loops</a></span></p>
 
 <p class="txts">Please use Google docs to record any specific comments or suggestions.</p>
@@ -636,11 +637,11 @@
 <p class="txts">I am unsure what you are talking about here. &nbsp;The permission in 7.6 in the
 draft AI says:</p>
 
-<p class="a44">If the result of a function call is used to initialize an object, but the result is
+<p class="a43">If the result of a function call is used to initialize an object, but the result is
 </p>
-<p class="a44">not built in place, the anonymous object representing the result of the function
+<p class="a43">not built in place, the anonymous object representing the result of the function
 </p>
-<p class="a44">call may be finalized and become nonexistent immediately after the </p>
+<p class="a43">call may be finalized and become nonexistent immediately after the </p>
 <p class="a91">initialization of the newly-created object is
 complete.<span class="a82">&nbsp;</span></p>
 
@@ -678,17 +679,17 @@
 <p class="text">&gt;And if so, then why do we need to mention the loop-y
 expressions?<span class="a84"> </span></p>
 <p class="text">&nbsp;</p>
-<p class="a46">My understanding was that the permission only applied to calls that could be
+<p class="a45">My understanding was that the permission only applied to calls that could be
 build-in-place, since those are the only ones that have a possibly extended lifetime (such that the
 object might exceed the lifetime of the master of the expression).</p>
-<p class="a48">&nbsp;</p>
-<p class="a46">There&#39;s no build-in-place context in the above, so I don&#39;t see how it could
+<p class="a47">&nbsp;</p>
+<p class="a45">There&#39;s no build-in-place context in the above, so I don&#39;t see how it could
 or should apply in such cases. If you had used an allocator rather than a procedure, then it could
 have applied. For instance:</p>
-<p class="a48">&nbsp;</p>
-<p class="a46">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;P := new
+<p class="a47">&nbsp;</p>
+<p class="a45">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;P := new
 Some_Type&#39;(F(G(X));</p>
-<p class="a48">&nbsp;</p>
+<p class="a47">&nbsp;</p>
 <p class="a92">I&#39;d be against allowing willy-nilly finalization of return objects; I only
 agreed to the permission because it&#39;s fairly clearly that iterative contexts have an
 implementation problem which needs some sort of solution. I don&#39;t want to see such permissions
@@ -931,7 +932,7 @@
 
 
 
-<div class="c58"><p class="txts"><a href="#cmnt_ref1">[a]</a>If we have something like:</p>
+<div class="c21"><p class="txts"><a href="#cmnt_ref1">[a]</a>If we have something like:</p>
 
 <p class="txts">X := (for all Y of blah =&gt; F(...) = G(...));</p>
 
@@ -975,7 +976,7 @@
 <p class="txts">A returns.</p>
 
 <p class="text">@taft@adacore.com @baird@adacore.com @dismukes@adacore.com @squirek@adacore.com</p>
-</div><div class="c58"><p class="text"><a href="#cmnt_ref2">[b]</a>We looked at all of those ideas
+</div><div class="c21"><p class="text"><a href="#cmnt_ref2">[b]</a>We looked at all of those ideas
 in the 76 private messages before this was proposed. But a proper discussion of philosophy cannot
 done here; I&#39;ll answer on the ARG list.</p>
 </div></body></html> 

Questions? Ask the ACAA Technical Agent