<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Fri, Mar 30, 2018 at 11:39 AM, Brian Goetz <span dir="ltr"><<a href="mailto:brian.goetz@oracle.com" target="_blank">brian.goetz@oracle.com</a>></span> wrote:</div><div class="gmail_quote"><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Okay, that is a sane approach, but I think it leaves too much of the value on the floor. I often benefit from having my exhaustiveness validated and being able to find out at compile time if things change in the future.<br>
</blockquote>
<br></span>
To be clear, I was describing:<br>
 - We'd always do exhaustiveness checking for expression switches<br>
 - A default / total pattern always implies exhaustive<br>
 - We'd additionally consider an expression switch to be exhaustive if all known enums are present _and_ the enum type is in the same module as the switch<br></blockquote><div><br></div><div>Confirming that this is indeed how I understood it. I think it throws too much value out. </div></div><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div style="line-height:1.5em;padding-top:10px;margin-top:10px;color:rgb(85,85,85);font-family:sans-serif"><span style="border-width:2px 0px 0px;border-style:solid;border-color:rgb(213,15,37);padding-top:2px;margin-top:2px">Kevin Bourrillion |</span><span style="border-width:2px 0px 0px;border-style:solid;border-color:rgb(51,105,232);padding-top:2px;margin-top:2px"> Java Librarian |</span><span style="border-width:2px 0px 0px;border-style:solid;border-color:rgb(0,153,57);padding-top:2px;margin-top:2px"> Google, Inc. |</span><span style="border-width:2px 0px 0px;border-style:solid;border-color:rgb(238,178,17);padding-top:2px;margin-top:2px"> <a href="mailto:kevinb@google.com" target="_blank">kevinb@google.com</a></span></div></div></div></div></div></div></div>
</div></div>