<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body>
    <font size="4"><font face="monospace">I see now I answered a
        slightly different question :)  <br>
        <br>
        We do support case labels for enums in pattern switches, and
        they participate in exhaustiveness.  But we don't currently
        support mixing `case pattern, constant-label` in a single case
        label.  This is waiting for a more comprehensive treatment of
        constants as patterns.  <br>
      </font></font><br>
    <div class="moz-cite-prefix">On 9/26/2023 8:32 AM, Tagir Valeev
      wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:CAE+3fjYcnmTi-050SczFs4vP_S2_mRMJhXKx0HpFz2aQX+A9rQ@mail.gmail.com">
      <pre class="moz-quote-pre" wrap="">Hello! As we are finalizing this feature, can we squeeze in a little
improvement? Namely, support enum and patterns within the same case
label, provided that the patterns do not declare any variables. Like:

enum X {A, B}

static void test(Object obj) {
  switch (obj) {
    case String _, X.B -> System.out.println("B or String");
    default -> System.out.println("other");
  }
}

public static void main(String[] args) {
  Test.test("ddd");
  Test.test(X.B);
}

Currently, such a code is not supported. Or will it be considered in
future JEPs?

With best regards,
Tagir Valeev.

On Mon, Sep 25, 2023 at 6:25 PM Mark Reinhold <a class="moz-txt-link-rfc2396E" href="mailto:mark.reinhold@oracle.com"><mark.reinhold@oracle.com></a> wrote:
</pre>
      <blockquote type="cite">
        <pre class="moz-quote-pre" wrap="">
<a class="moz-txt-link-freetext" href="https://openjdk.org/jeps/456">https://openjdk.org/jeps/456</a>

  Summary: Enhance the Java language with unnamed variables, which
  can be initialized but not used, and unnamed patterns, which match a
  record component without stating the component's name or type. Both are
  denoted by an underscore character, _.

- Mark
</pre>
      </blockquote>
    </blockquote>
    <br>
  </body>
</html>