<!DOCTYPE html><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body>
    <p>I agree with this conclusion.</p>
    <p>The main point here is that whether strict fields are initialized
      before/after a super call is a very low-level detail that we'd
      like most developers to happily ignore. But if the distinction
      surfaces up at the level of DA/DU and field assignment, this is no
      longer strictly true, and it is possible that some developers
      might be puzzled as a result, and have to dig much deeper than
      they'd comfortable with to find exactly why that is the case.
      Preserving the illusion that all fields are created equal seems
      kind of nice, even though it is still an illusion.</p>
    <p>Maurizio<br>
    </p>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 08/11/2024 19:59, Dan Smith wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:E7C0FCCB-A795-45EC-B409-D3B2E3F761F9@oracle.com">
      <pre>Conclusion: I think I'm happy with a DA/DU analysis that treats 
initializers as if they run in left-to-right order, before the start of 
the constructor. It's not really true, but it detects the errors we need
 to detect with less complexity.</pre>
    </blockquote>
  </body>
</html>