<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:"Yu Gothic";
panose-1:2 11 4 0 0 0 0 0 0 0;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:Consolas;
panose-1:2 11 6 9 2 2 4 3 2 4;}
@font-face
{font-family:"\@Yu Gothic";
panose-1:2 11 4 0 0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}
span.contentpasted0
{mso-style-name:contentpasted0;}
p.xmsonormal, li.xmsonormal, div.xmsonormal
{mso-style-name:x_msonormal;
margin:0cm;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
span.E-MailFormatvorlage22
{mso-style-type:personal-reply;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link="#0563C1" vlink="#954F72" style='word-wrap:break-word'><div class=WordSection1><p class=MsoNormal>I use VSCode with the “Extension Pack for Java”.<o:p></o:p></p><p class=MsoNormal>I back checked on my (still linting) code using javac directly and it’s in fact not an error there. <o:p></o:p></p><p class=MsoNormal>I assumed the (error) linting of the VSCode extension was based on javac output.<br>But I guess it’s a bug in their own code checking system unrelated to javac output. <o:p></o:p></p><p class=MsoNormal>I will open an issue on the extension instead.<o:p></o:p></p><p class=MsoNormal>Sorry to bother you and take your time for this.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Great regards <o:p></o:p></p><p class=MsoNormal>RedIODev<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><div><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal><b><span lang=DE>Von:</span></b><span lang=DE> Jan Lahoda <jan.lahoda@oracle.com> <br><b>Gesendet:</b> Montag, 14. November 2022 12:41<br><b>An:</b> redio.development@gmail.com; amber-dev@openjdk.org<br><b>Betreff:</b> Re: switch exhaustiveness check not working within deconstruction pattern. <o:p></o:p></span></p></div></div><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal style='background:white'><span style='font-size:12.0pt;color:black'>Hi,<o:p></o:p></span></p></div><div><p class=MsoNormal style='background:white'><span style='font-size:12.0pt;color:black'><o:p> </o:p></span></p></div><div><p class=MsoNormal style='background:white'><span style='font-size:12.0pt;color:black'>This should indeed be exhaustive, AFAIK, and javac from JDK 19 seems to be happy with the code:<o:p></o:p></span></p></div><div><p class=MsoNormal style='background:white'><span style='font-size:12.0pt;color:black'>---<o:p></o:p></span></p></div><div><p class=MsoNormal style='background:white'><span class=contentpasted0><span style='font-size:12.0pt;font-family:"Courier New";color:black;background:white'>$ ./javac --enable-preview -source 19 /tmp/Main.java </span></span><span style='font-size:12.0pt;color:black'><o:p></o:p></span></p></div><div><p class=MsoNormal style='background:white'><span class=contentpasted0><span style='font-size:12.0pt;font-family:"Courier New";color:black'>Note: /tmp/Main.java uses preview features of Java SE 19. </span></span><span style='font-size:12.0pt;font-family:"Courier New";color:black'><br><span class=contentpasted0>Note: Recompile with -Xlint:preview for details. </span></span><span style='font-size:12.0pt;color:black'><o:p></o:p></span></p></div><div><p class=MsoNormal style='background:white'><span style='font-size:12.0pt;color:black'>---<o:p></o:p></span></p></div><div><p class=MsoNormal style='background:white'><span style='font-size:12.0pt;color:black'><o:p> </o:p></span></p></div><div><p class=MsoNormal style='background:white'><span style='font-size:12.0pt;color:black'>What are the precise steps to reproduce/JDK version?<o:p></o:p></span></p></div><div><p class=MsoNormal style='background:white'><span style='font-size:12.0pt;color:black'><o:p> </o:p></span></p></div><div><p class=MsoNormal style='background:white'><span style='font-size:12.0pt;color:black'>Thanks,<o:p></o:p></span></p></div><div><p class=MsoNormal style='background:white'><span style='font-size:12.0pt;color:black'> Jan<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:12.0pt;color:black'><o:p> </o:p></span></p></div><div class=MsoNormal align=center style='text-align:center'><hr size=2 width="98%" align=center></div><div id=divRplyFwdMsg><p class=MsoNormal><b><span style='color:black'>From:</span></b><span style='color:black'> amber-dev <<a href="mailto:amber-dev-retn@openjdk.org">amber-dev-retn@openjdk.org</a>> on behalf of <a href="mailto:redio.development@gmail.com">redio.development@gmail.com</a> <<a href="mailto:redio.development@gmail.com">redio.development@gmail.com</a>><br><b>Sent:</b> Sunday, November 13, 2022 6:48 PM<br><b>To:</b> <a href="mailto:amber-dev@openjdk.org">amber-dev@openjdk.org</a> <<a href="mailto:amber-dev@openjdk.org">amber-dev@openjdk.org</a>><br><b>Subject:</b> switch exhaustiveness check not working within deconstruction pattern. </span><o:p></o:p></p><div><p class=MsoNormal> <o:p></o:p></p></div></div><div><div><p class=xmsonormal style='line-height:14.25pt;background:#1E1E1E'><span style='font-size:10.5pt;font-family:Consolas;color:#569CD6'>package</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><span style='font-size:10.5pt;font-family:Consolas;color:#4EC9B0'>dev</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'>.</span><span style='font-size:10.5pt;font-family:Consolas;color:#4EC9B0'>redio</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'>;</span><o:p></o:p></p><p class=xmsonormal style='line-height:14.25pt;background:#1E1E1E'><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><o:p></o:p></p><p class=xmsonormal style='line-height:14.25pt;background:#1E1E1E'><span style='font-size:10.5pt;font-family:Consolas;color:#569CD6'>import</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><span style='font-size:10.5pt;font-family:Consolas;color:#569CD6'>static</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><span style='font-size:10.5pt;font-family:Consolas;color:#4EC9B0'>dev</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'>.</span><span style='font-size:10.5pt;font-family:Consolas;color:#4EC9B0'>redio</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'>.</span><span style='font-size:10.5pt;font-family:Consolas;color:#4EC9B0'>Main</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'>.</span><span style='font-size:10.5pt;font-family:Consolas;color:#4EC9B0'>Activity</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'>.*;</span><o:p></o:p></p><p class=xmsonormal style='line-height:14.25pt;background:#1E1E1E'><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><o:p></o:p></p><p class=xmsonormal style='line-height:14.25pt;background:#1E1E1E'><span style='font-size:10.5pt;font-family:Consolas;color:#569CD6'>public</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><span style='font-size:10.5pt;font-family:Consolas;color:#569CD6'>class</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><span style='font-size:10.5pt;font-family:Consolas;color:#4EC9B0'>Main</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> {</span><o:p></o:p></p><p class=xmsonormal style='line-height:14.25pt;background:#1E1E1E'><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><o:p></o:p></p><p class=xmsonormal style='line-height:14.25pt;background:#1E1E1E'><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><span style='font-size:10.5pt;font-family:Consolas;color:#569CD6'>public</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><span style='font-size:10.5pt;font-family:Consolas;color:#569CD6'>static</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><span style='font-size:10.5pt;font-family:Consolas;color:#4EC9B0'>void</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><span style='font-size:10.5pt;font-family:Consolas;color:#DCDCAA'>main</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'>(</span><span style='font-size:10.5pt;font-family:Consolas;color:#4EC9B0'>String</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'>[] </span><span style='font-size:10.5pt;font-family:Consolas;color:#9CDCFE'>args</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'>) {</span><o:p></o:p></p><p class=xmsonormal style='line-height:14.25pt;background:#1E1E1E'><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><span style='font-size:10.5pt;font-family:Consolas;color:#569CD6'>record</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><span style='font-size:10.5pt;font-family:Consolas;color:#4EC9B0'>Pair</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'>(</span><span style='font-size:10.5pt;font-family:Consolas;color:#4EC9B0'>boolean</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><span style='font-size:10.5pt;font-family:Consolas;color:#9CDCFE'>weekend</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'>, </span><span style='font-size:10.5pt;font-family:Consolas;color:#4EC9B0'>Activity</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><span style='font-size:10.5pt;font-family:Consolas;color:#9CDCFE'>activity</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'>) {}</span><o:p></o:p></p><p class=xmsonormal style='line-height:14.25pt;background:#1E1E1E'><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><span style='font-size:10.5pt;font-family:Consolas;color:#4EC9B0'>var</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><span style='font-size:10.5pt;font-family:Consolas;color:#9CDCFE'>pair</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> = </span><span style='font-size:10.5pt;font-family:Consolas;color:#C586C0'>new</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><span style='font-size:10.5pt;font-family:Consolas;color:#DCDCAA'>Pair</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'>(</span><span style='font-size:10.5pt;font-family:Consolas;color:#569CD6'>true</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'>, </span><span style='font-size:10.5pt;font-family:Consolas;color:#C586C0'>new</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><span style='font-size:10.5pt;font-family:Consolas;color:#DCDCAA'>Sleeping</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'>(</span><span style='font-size:10.5pt;font-family:Consolas;color:#B5CEA8'>8</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'>));</span><o:p></o:p></p><p class=xmsonormal style='line-height:14.25pt;background:#1E1E1E'><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><span style='font-size:10.5pt;font-family:Consolas;color:#4EC9B0'>var</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><span style='font-size:10.5pt;font-family:Consolas;color:#9CDCFE'>msg</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> = </span><span style='font-size:10.5pt;font-family:Consolas;color:#C586C0'>switch</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> (</span><span style='font-size:10.5pt;font-family:Consolas;color:#9CDCFE'>pair</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'>) { </span><span style='font-size:10.5pt;font-family:Consolas;color:#6A9955'>// <- A switch expression should have a default case Java(1073743531)</span><o:p></o:p></p><p class=xmsonormal style='line-height:14.25pt;background:#1E1E1E'><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><span style='font-size:10.5pt;font-family:Consolas;color:#C586C0'>case</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><span style='font-size:10.5pt;font-family:Consolas;color:#DCDCAA'>Pair</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'>(</span><span style='font-size:10.5pt;font-family:Consolas;color:#4EC9B0'>boolean</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><span style='font-size:10.5pt;font-family:Consolas;color:#9CDCFE'>b</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'>, </span><span style='font-size:10.5pt;font-family:Consolas;color:#4EC9B0'>Sleeping</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><span style='font-size:10.5pt;font-family:Consolas;color:#9CDCFE'>s</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'>) </span><span style='font-size:10.5pt;font-family:Consolas;color:#569CD6'>-></span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><span style='font-size:10.5pt;font-family:Consolas;color:#CE9178'>"3"</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'>;</span><o:p></o:p></p><p class=xmsonormal style='line-height:14.25pt;background:#1E1E1E'><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><span style='font-size:10.5pt;font-family:Consolas;color:#C586C0'>case</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><span style='font-size:10.5pt;font-family:Consolas;color:#DCDCAA'>Pair</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'>(</span><span style='font-size:10.5pt;font-family:Consolas;color:#4EC9B0'>boolean</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><span style='font-size:10.5pt;font-family:Consolas;color:#9CDCFE'>b</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'>, </span><span style='font-size:10.5pt;font-family:Consolas;color:#4EC9B0'>Skiing</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><span style='font-size:10.5pt;font-family:Consolas;color:#9CDCFE'>s</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'>) </span><span style='font-size:10.5pt;font-family:Consolas;color:#569CD6'>-></span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><span style='font-size:10.5pt;font-family:Consolas;color:#CE9178'>"4"</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'>;</span><o:p></o:p></p><p class=xmsonormal style='line-height:14.25pt;background:#1E1E1E'><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><span style='font-size:10.5pt;font-family:Consolas;color:#C586C0'>case</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><span style='font-size:10.5pt;font-family:Consolas;color:#DCDCAA'>Pair</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'>(</span><span style='font-size:10.5pt;font-family:Consolas;color:#4EC9B0'>boolean</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><span style='font-size:10.5pt;font-family:Consolas;color:#9CDCFE'>b</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'>, </span><span style='font-size:10.5pt;font-family:Consolas;color:#4EC9B0'>Coding</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><span style='font-size:10.5pt;font-family:Consolas;color:#9CDCFE'>c</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'>) </span><span style='font-size:10.5pt;font-family:Consolas;color:#569CD6'>-></span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><span style='font-size:10.5pt;font-family:Consolas;color:#CE9178'>"5"</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'>;</span><o:p></o:p></p><p class=xmsonormal style='line-height:14.25pt;background:#1E1E1E'><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> };</span><o:p></o:p></p><p class=xmsonormal style='line-height:14.25pt;background:#1E1E1E'><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><o:p></o:p></p><p class=xmsonormal style='line-height:14.25pt;background:#1E1E1E'><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><span style='font-size:10.5pt;font-family:Consolas;color:#4EC9B0'>System</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'>.</span><span style='font-size:10.5pt;font-family:Consolas;color:#4FC1FF'>out</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'>.</span><span style='font-size:10.5pt;font-family:Consolas;color:#DCDCAA'>println</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'>(</span><span style='font-size:10.5pt;font-family:Consolas;color:#9CDCFE'>msg</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'>);</span><o:p></o:p></p><p class=xmsonormal style='line-height:14.25pt;background:#1E1E1E'><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> }</span><o:p></o:p></p><p class=xmsonormal style='line-height:14.25pt;background:#1E1E1E'><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><o:p></o:p></p><p class=xmsonormal style='line-height:14.25pt;background:#1E1E1E'><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><span style='font-size:10.5pt;font-family:Consolas;color:#569CD6'>sealed</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><span style='font-size:10.5pt;font-family:Consolas;color:#569CD6'>interface</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><span style='font-size:10.5pt;font-family:Consolas;color:#4EC9B0'>Activity</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> {</span><o:p></o:p></p><p class=xmsonormal style='line-height:14.25pt;background:#1E1E1E'><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><span style='font-size:10.5pt;font-family:Consolas;color:#569CD6'>record</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><span style='font-size:10.5pt;font-family:Consolas;color:#4EC9B0'>Sleeping</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'>(</span><span style='font-size:10.5pt;font-family:Consolas;color:#4EC9B0'>int</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><span style='font-size:10.5pt;font-family:Consolas;color:#9CDCFE'>hours</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'>) </span><span style='font-size:10.5pt;font-family:Consolas;color:#569CD6'>implements</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><span style='font-size:10.5pt;font-family:Consolas;color:#4EC9B0'>Activity</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> {}</span><o:p></o:p></p><p class=xmsonormal style='line-height:14.25pt;background:#1E1E1E'><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><span style='font-size:10.5pt;font-family:Consolas;color:#569CD6'>record</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><span style='font-size:10.5pt;font-family:Consolas;color:#4EC9B0'>Skiing</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'>(</span><span style='font-size:10.5pt;font-family:Consolas;color:#4EC9B0'>String</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><span style='font-size:10.5pt;font-family:Consolas;color:#9CDCFE'>resort</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'>) </span><span style='font-size:10.5pt;font-family:Consolas;color:#569CD6'>implements</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><span style='font-size:10.5pt;font-family:Consolas;color:#4EC9B0'>Activity</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> {}</span><o:p></o:p></p><p class=xmsonormal style='line-height:14.25pt;background:#1E1E1E'><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><span style='font-size:10.5pt;font-family:Consolas;color:#569CD6'>record</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><span style='font-size:10.5pt;font-family:Consolas;color:#4EC9B0'>Coding</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'>() </span><span style='font-size:10.5pt;font-family:Consolas;color:#569CD6'>implements</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><span style='font-size:10.5pt;font-family:Consolas;color:#4EC9B0'>Activity</span><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> {}</span><o:p></o:p></p><p class=xmsonormal style='line-height:14.25pt;background:#1E1E1E'><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> }</span><o:p></o:p></p><p class=xmsonormal style='line-height:14.25pt;background:#1E1E1E'><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'> </span><o:p></o:p></p><p class=xmsonormal style='line-height:14.25pt;background:#1E1E1E'><span style='font-size:10.5pt;font-family:Consolas;color:#D4D4D4'>}</span><o:p></o:p></p><p class=xmsonormal> <o:p></o:p></p><p class=xmsonormal>This deconstruction should be exhaustive since Pair is a guaranteed match boolean doesn’t have subclasses and Activity is sealed and fully covered. <o:p></o:p></p><p class=xmsonormal>Null should throw in this case. A default case would never be reached. <o:p></o:p></p><p class=xmsonormal>(Compiling and running with (dead) default case)<o:p></o:p></p></div></div></div></body></html>