<!DOCTYPE html><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body>
    <font size="4" face="monospace">This is not a bug; this potential
      feature was discussed at some length during the design process. 
      Another way this potential-feature could show up is:<br>
      <br>
          switch (container) { <br>
              case Box(String s), Bag(String s): ... use s ...<br>
          }<br>
      <br>
      The reason that we chose not to proceed with such "binding
      merging" is that when you get inside the block, `je` is one
      variable with two declarations; you don't really know where the
      declaration is.  (So IDE navigations like "go to declaration"
      would have to learn to highlight TWO (or more) declarations, for
      example.)<br>
      <br>
      This feature isn't fundamentally impossible, and we could consider
      it again in the future, but it was a deliberate decision to not go
      this far at this time.<br>
      <br>
    </font><br>
    <div class="moz-cite-prefix">On 2/18/2024 6:53 AM, Charles wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:CAN5K7+v0pn17HkUjSiYKbxt-Xu+Eq0xjP16Y4cz4F4S_n-uT6A@mail.gmail.com">
      
      <div dir="ltr">
        <div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:#000000">Hi
          all</div>
        <div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:#000000"><br>
        </div>
        <div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:#000000"><br>
        </div>
        <div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:#000000">What
          I'm about to report below is <b>openjdk 17</b>. </div>
        <div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:#000000"><br>
        </div>
        <div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:#000000"><br>
        </div>
        <div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:#000000">This
          doesn't compile</div>
        <div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:#000000"><br>
        </div>
        <div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small"><font color="#38761d">if (ex instanceof JedisException je<br>
                                        || (ex instanceof
            ExecutionException ee && ee.getCause() instanceof
            JedisException je)<br>
                        ){<br>
          </font></div>
        <div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small"><font color="#38761d">   ... blah blah</font></div>
        <div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small"><font color="#38761d">}</font></div>
        <div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:#000000"><br>
        </div>
        <div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:#000000">reason
          being the second je is already defined in the scope. </div>
        <div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:#000000"><img src="cid:part1.0UJwsEDm.8d6EoBLa@oracle.com" alt="image.png" class="" width="562" height="58"><br>
        </div>
        <div>
          <div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature">
            <div dir="ltr">
              <div dir="ltr">
                <div dir="ltr">
                  <div dir="ltr">
                    <div dir="ltr">
                      <div dir="ltr">
                        <div dir="ltr">
                          <div dir="ltr">
                            <div dir="ltr">
                              <div dir="ltr">
                                <div dir="ltr">
                                  <div dir="ltr">
                                    <div dir="ltr">
                                      <div dir="ltr">
                                        <div dir="ltr">
                                          <div dir="ltr">
                                            <div dir="ltr">
                                              <div dir="ltr"><font color="#000000"><br>
                                                </font></div>
                                              <div>
                                                <div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)">if
                                                  you think about it. if
                                                  ex is je, then, the
                                                  second part won't
                                                  trigger. And if the
                                                  second part is
                                                  reached, then ex is
                                                  not je. Hence there is
                                                  only going to be one
                                                  statement mapped to
                                                  je. </div>
                                                <div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)">no
                                                  confusion here. I feel
                                                  this should be
                                                  allowed. </div>
                                                <br>
                                              </div>
                                              <div><br>
                                              </div>
                                              <div>
                                                <div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)">Let's
                                                  assume the above is
                                                  the way it should be.
                                                  I use different names
                                                  for the second
                                                  variable. </div>
                                                <br>
                                              </div>
                                              <div><font color="#38761d"> if
                                                  (ex instanceof
                                                  JedisException je<br>
                                                                      ||
                                                  (ex instanceof
                                                  ExecutionException ee
                                                  &&
                                                  ee.getCause()
                                                  instanceof
                                                  JedisException
                                                  second_je)<br>
                                                              ) {<br>
                                                                 
                                                  log.error(je);<br>
                                                                 
                                                  log.error(second_je);<br>
                                                              }</font><br>
                                              </div>
                                              <div><br>
                                              </div>
                                              <div><img src="cid:part2.JV9x87HL.eQpfVlYq@oracle.com" alt="image.png" class="" width="562" height="94"><br>
                                              </div>
                                              <div>
                                                <div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)">This
                                                  still doesn't
                                                  compile. </div>
                                                <div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)"><br>
                                                </div>
                                                <div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)">I
                                                  would like to bring
                                                  this issue up for
                                                  discussion. </div>
                                                <br>
                                              </div>
                                              <div><br>
                                              </div>
                                              <div><br>
                                              </div>
                                              <div><br>
                                              </div>
                                              <div dir="ltr"><span style="font-size:12.8000001907349px"><font color="#000000">and as
                                                    always, have a great
day                                   <br>
                                                  </font></span></div>
                                              <div dir="ltr"><b style="font-size:12.8000001907349px"><font color="#000000"><br>
                                                  </font></b></div>
                                              <div dir="ltr"><b><font color="#000000">Best
                                                    Regards<br>
                                                  </font></b>
                                                <div><font face="arial, helvetica, sans-serif" color="#000000"><b>Charles</b></font></div>
                                                <div><b><font style="background-color:rgb(255,255,255)" face="arial, helvetica, sans-serif" color="#000000"><br>
                                                    </font></b></div>
                                                <div>
                                                  <p style="margin:0cm 0cm 0.0001pt"><br>
                                                  </p>
                                                </div>
                                              </div>
                                            </div>
                                          </div>
                                        </div>
                                      </div>
                                    </div>
                                  </div>
                                </div>
                              </div>
                            </div>
                          </div>
                        </div>
                      </div>
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
  </body>
</html>