<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body>
    <font size="4"><font face="monospace">Yes, substitute "normal
        completion" for "exit".  </font></font><br>
    <br>
    <div class="moz-cite-prefix">On 1/23/2023 3:39 PM, Robbe Pincket
      wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:AS1PR01MB922836084A69D4F5B8E0F4D8D3C89@AS1PR01MB9228.eurprd01.prod.exchangelabs.com">
      
      <meta name="Generator" content="Microsoft Word 15 (filtered
        medium)">
      <style>@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}.MsoChpDefault
        {mso-style-type:export-only;}div.WordSection1
        {page:WordSection1;}</style>
      <div class="WordSection1">
        <p class="MsoNormal"><span lang="EN-US">Mon Jan 23 20:01:23 UTC
            2023, Brian Goetz:
            <o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">>> * Add the
            requirement that `super()` and `this()` may not appear
            <o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">>> within any `try
            { }` block<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">> if `this` is DA/U
            on entry to a try block, it must be DA/U on exit from
            <o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">that try block<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">Those are only
            equivalent if there is no return/throw/break/continue/yield<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">inside the try block.<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">```<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">// `this` is DU and not
            DA<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">try {<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">    // `this` is DU and
            not DA<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">    if (arg1 > 0){<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">        this(arg2);<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">        // `this` is DA
            and not DU<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">        return;<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">        // `this` is DA
            and DU<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">    }<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">    // `this` is DU and
            not DA<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">}<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">```<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">Kind regards<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">Robbe Pincket</span></p>
      </div>
    </blockquote>
    <br>
  </body>
</html>