<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <font size="+1"><tt>Sorry, I got my examples mixed up.  I'll try to
        reconstruct what I was saying.</tt></font><br>
    <br>
    <div class="moz-cite-prefix">On 9/1/2020 1:27 PM, Dan Smith wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:24833539-E8E6-4B43-A2AF-52F9BABB92FD@oracle.com">
      <blockquote type="cite">
        <pre class="moz-quote-pre" wrap="">On Sep 1, 2020, at 8:22 AM, Brian Goetz <a class="moz-txt-link-rfc2396E" href="mailto:brian.goetz@oracle.com"><brian.goetz@oracle.com></a> wrote:

But, there is a subtle difference between

    switch (x) {
        case FOO: ...
    }

and

    sealed switch (x) {
        case FOO: ....
        default: // nothing
    }

which is, what happens on remainder.  In the former, it is just another ignored non-matching input; in the latter, we throw.
</pre>
      </blockquote>
      <pre class="moz-quote-pre" wrap="">
Confused here. Doesn't 'default' handle the remainder explicitly? Under what conditions does your sealed switch throw?

The way I'm modeling remainder handling in my head is that sealed switches without 'default' get an implicit 'default' clause that throws. (And, for that matter, regular switches without 'default' get an implicit 'default' that is a no-op.)</pre>
    </blockquote>
    <br>
  </body>
</html>