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

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

--- ai22s/ai22-0040-1.html	2022/06/17 06:41:34	1.2
+++ ai22s/ai22-0040-1.html	2022/06/18 04:17:03	1.3
@@ -1,13 +1,13 @@
 <html><head><meta content="text/html; charset=UTF-8" http-equiv="content-type"><title>AI22-0040-1/02</title>
 <style type="text/css">
 table td,table th{padding:0}
-.c49{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}
-.c63{text-decoration-skip-ink:none;-webkit-text-decoration-skip:none;color:#1155cc;text-decoration:underline}
+.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}
-.c13{background-color:#ffffff;max-width:468pt;padding:72pt 72pt 72pt 72pt}
-.c47{border:1px solid black;margin:5px}
-.c22{color:inherit;text-decoration:inherit}
-.c21{height:0pt}
+.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}
 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,47 +30,48 @@
 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; padding-top:0pt; padding-bottom:3pt; line-height:1.15; page-break-after:avoid; orphans:2; widows:2; text-align
:left}
+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.a53{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{-webkit-text-decoration-skip:none; color:#1155cc;text-decoration:underline; text-decoration-skip-ink:none;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.a68{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.a69{font-weight:400; color:#000000}
-SPAN.a70{-webkit-text-decoration-skip:none; color:#1155cc; font-weight:400; text-decoration:underline; text-decoration-skip-ink:none;font-style:italic}
-SPAN.a71{font-weight:400; -webkit-text-decoration-skip:none;text-decoration:underline; text-decoration-skip-ink:none}
-SPAN.a72{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.a73{-webkit-text-decoration-skip:none;text-decoration:underline; text-decoration-skip-ink:none;font-weight:400; vertical-align:baseline; font-style:normal}
-P.a76{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.a77{text-decoration:none; vertical-align:baseline; font-style:normal}
-P.a78{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.a79{-webkit-text-decoration-skip:none; color:#006600; text-decoration:underline; text-decoration-skip-ink:none}
-SPAN.a81{text-decoration:none; vertical-align:baseline;font-family:"Arial","Liberation Sans",sans-serif; font-style:normal}
-SPAN.a83{color:#0000ff;font-size:10pt}
-SPAN.a84{background-color:#f0f0f0; font-family:"Courier New",monospace}
-SPAN.a85{background-color:#f0f0f0; font-family:"Courier New",monospace; color:#880000}
-SPAN.a86{font-family:"Courier New",monospace}
-P.a87{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.a88{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.a89{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.a90{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.a91{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}
+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.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}
+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}
+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.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.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.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="c13"><p class="a6">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="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>
+</head><body class="c22 c65"><p class="a6">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>
 <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</p>
+<p class="head">!class binding interpretation 22-03-22</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>
@@ -90,7 +91,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="c21"><td class="c49">
+<a id="t.d3821403bc86108120370f1e0af3bfa0b700c2f5"></a><a id="t.0"></a><table class="c23"><tr class="c40"><td class="c21">
 <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>
@@ -114,11 +115,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="c22" 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="c8" 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="c22" 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="c8" 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="c22" 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="c8" 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
@@ -166,7 +167,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="a53">point of view. &nbsp;Hence, we
+from both a performance and compiler complexity <span class="a54">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>
@@ -221,7 +222,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="c21"><td class="c49">
+<a id="t.ce0b75da1a336240417d5578e4ebd2b9e594b9c0"></a><a id="t.1"></a><table class="c23"><tr class="c40"><td class="c21">
 <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>
@@ -229,7 +230,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="c21"><td class="c49">
+<a id="t.d6b03f567caee4099daa0b9f34192c93428c2377"></a><a id="t.2"></a><table class="c23"><tr class="c40"><td class="c21">
 <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
@@ -242,29 +243,29 @@
 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="a53">liminating the
+<p class="text">Some of these cases can be eliminated by e<span class="a54">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="c21"><td class="c49">
+<a id="t.d3821403bc86108120370f1e0af3bfa0b700c2f5"></a><a id="t.3"></a><table class="c23"><tr class="c40"><td class="c21">
 <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>
-<p class="txts">With this change, the expression <span class="a84">F(E).B &gt;
-</span><span class="a85">0</span> appears in an iterative context, and as such can act as a master
+<p class="txts">With this change, the expression <span class="a85">F(E).B &gt;
+</span><span class="a86">0</span> appears in an iterative context, and as such can act as a master
 for any temporaries not needed by subsequent iterations.</p>
 
 <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="c21"><td class="c49">
+<a id="t.2007e6bb869143d669a272531a7f87d542e60f2d"></a><a id="t.4"></a><table class="c23"><tr class="c40"><td class="c21">
 <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>
-<p class="txts">where <span class="a86">F(I)</span> returns a controlled object which the compiler
+<p class="txts">where <span class="a87">F(I)</span> returns a controlled object which the compiler
 does <i>not</i> build in place, after the object returned by F is copied into the aggregate (and
 adjusted), the temporary can be immediately finalized (and cease to exist), thanks to the added
 permission.</p>
@@ -272,7 +273,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="c21"><td class="c49">
+<a id="t.d14724bd4238c5459e427529e95837135cdb0d22"></a><a id="t.5"></a><table class="c23"><tr class="c40"><td class="c21">
 <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,21 +317,21 @@
 6.1.1, Preconditions and Postconditions, paragraphs 22.12/5 to 22.15/5:</p>
 
 <p class="a36">22.12/5</p>
-<p class="a63"><span class="a64">&nbsp;
-&nbsp;{</span><span class="a65"><a class="c22" 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="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="a68"><span class="a69">{</span><span class="a70"><a class="c22" href="http://www.ada-auth.org/cgi-bin/cvsweb.cgi/AI12s/AI12-0280-2.TXT">AI12-0280-2</a></span><span class="a69">}
-</span><span class="a71">A subexpression of a predicate of a
-</span><span class="a72"><a class="c22" href="http://www.ada-auth.org/standards/2xaarm/html/AA-4-5-8.html#S0153">quantified_expression</a></span><span class="a73">;</span></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="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="a68"><span class="a69">{</span><span class="a70"><a class="c22" href="http://www.ada-auth.org/cgi-bin/cvsweb.cgi/AI12s/AI12-0280-2.TXT">AI12-0280-2</a></span><span class="a69">}
-</span><span class="a71">A subexpression of the expression of an
-</span><span class="a72"><a class="c22" href="http://www.ada-auth.org/standards/2xaarm/html/AA-4-3-3.html#S0118">array_component_association</a></span><span class="a73">;</span></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="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="a87"><span class="a69">{</span><span class="a70"><a class="c22" href="http://www.ada-auth.org/cgi-bin/cvsweb.cgi/AI12s/AI12-0280-2.TXT">AI12-0280-2</a></span><span class="a69">}
-</span><span class="a71">A subexpression of the expression of a
-</span><span class="a72"><a class="c22" href="http://www.ada-auth.org/standards/2xaarm/html/AA-4-3-5.html#S0128">container_element_association</a></span><span class="a73">.</span></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="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>
 
 
 <p class="txts">This seems to be missing the case of the key_expression and the expression of an
@@ -371,14 +372,14 @@
 (composite) result is used to initialize an object:</p>
 
 <p class="a36">10.1/3</p>
-<p class="a76">{<span class="a65"><a class="c22" href="http://www.ada-auth.org/cgi-bin/cvsweb.cgi/AI05s/AI05-0234-1.TXT">AI05-0234-1</a></span>}
+<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>}
 The accessibility level of the result of a function call is that of the <i>master of the function
-call</i><span class="a77">, which is determined by the point of call as follows:</span></p>
+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="a78">{<span class="a65"><a class="c22" 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="c22" href="http://www.ada-auth.org/cgi-bin/cvsweb.cgi/AI12s/AI12-0402-1.TXT">AI12-0402-1</a></span>}
-If <span class="a79">the result type at the point of the function (or access-to-function type)
-declaration is a composite type, and </span><span class="a77">the result is used (in its entirety)
+<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>}
+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
 the case where the initialized object is a coextension (see below) that becomes a coextension of
 another object, the master is that of the eventual object to which the coextension will be
@@ -473,13 +474,13 @@
 <p class="txts">Steve reminds me that he would like to see an AARM note to clarify what can be
 finalized when an expression master is finalized, particularly one in an iterative context.</p>
 
-<p class="a88">Here is a slight adjustment to 7.6.1(13.1/3) plus the addition of an AARM note:</p>
+<p class="a89">Here is a slight adjustment to 7.6.1(13.1/3) plus the addition of an AARM note:</p>
 
 <p class="in2s">In the case of an expression {or &lt;&gt;} &nbsp;that is a master, finalization of
 any (anonymous) objects occurs after completing evaluation of the expression {or &lt;&gt;} and all
 use of the objects, prior to starting the execution of any subsequent construct {or iteration}.</p>
 
-<p class="a89">{AARM Discussion: Within a reduction expression, this includes any such anonymous
+<p class="a90">{AARM Discussion: Within a reduction expression, this includes any such anonymous
 objects associated with a call on the reducer subprogram for each value of the value_sequence.}</p>
 
 <p class="txts">****************************************************************</p>
@@ -549,7 +550,7 @@
 &quot;active AIs&quot; folder:</p>
 
 <p class="txts">&nbsp;
-&nbsp;<span class="c63"><a class="c22" href="https://docs.google.com/document/d/1f1GIa7gP2yx_W76tE2lcVEnYFoY3VDC06QKhXlmEfwc/edit?usp=sharing">AI22-0040-1
+&nbsp;<span class="a19"><a class="c8" 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>
@@ -640,8 +641,8 @@
 <p class="a44">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="a90">initialization of the newly-created object is
-complete.<span class="a81">&nbsp;</span></p>
+<p class="a91">initialization of the newly-created object is
+complete.<span class="a82">&nbsp;</span></p>
 
 <p class="txts">I don&#39;t see how that applies to your P(F(G(X)) example. &nbsp;If possible,
 please follow up by adding comments directly into the google-docs version of the AI, rather than
@@ -675,7 +676,7 @@
 <p class="text">&gt;cases.</p>
 <p class="text">&gt;</p>
 <p class="text">&gt;And if so, then why do we need to mention the loop-y
-expressions?<span class="a83"> </span></p>
+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
 build-in-place, since those are the only ones that have a possibly extended lifetime (such that the
@@ -688,7 +689,7 @@
 <p class="a46">&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="a91">I&#39;d be against allowing willy-nilly finalization of return objects; I only
+<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
 in contexts that don&#39;t have an implementation need (it would make the implementation more
@@ -930,7 +931,7 @@
 
 
 
-<div class="c47"><p class="txts"><a href="#cmnt_ref1">[a]</a>If we have something like:</p>
+<div class="c58"><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>
 
@@ -974,7 +975,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="c47"><p class="text"><a href="#cmnt_ref2">[b]</a>We looked at all of those ideas
+</div><div class="c58"><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