<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Maybe I’m misunderstanding your use case, but I believe what you require is already possible. When switching through enum cases, there’s no obligation to bind to the associated values if they’re not needed.<div class=""><br class=""></div><div class=""><div class=""><div class="">enum Foo {</div><div class="">&nbsp; case Bar(String)</div><div class="">&nbsp; case Baz(Int, Int)</div><div class="">}</div><div class=""><br class=""></div><div class="">let baz = Foo.Baz(1, 2)</div><div class=""><br class=""></div><div class="">switch baz {</div><div class="">case .Bar: print("Bar")</div><div class="">case .Baz: print("Baz")</div><div class="">}</div></div><div class=""><br class=""></div><div class="">Al</div><div class=""><br class=""></div><div class=""><br class=""></div><div><blockquote type="cite" class=""><div class="">On 10 Dec 2015, at 22:05, Evan Maloney via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">When an enum case takes one or more associated values, it acts more like a<span class="Apple-converted-space">&nbsp;</span><i class="">type</i>&nbsp;than a<span class="Apple-converted-space">&nbsp;</span><i class="">value</i>&nbsp;because it specifies a format for storing information without specifying the exact informations stored. We're able to refer to other types as such in Swift, but not in this case.</div><div class="" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><br class=""></div><div class="" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">I think it would be helpful if any enum with at least one case had a parallel representation containing the same cases but without associated values. It might look like:</div><div class="" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><br class=""></div><div class="" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">enum Foo<br class="">{<br class="">&nbsp; &nbsp;&nbsp;case Bar(String)<br class="">&nbsp; &nbsp;&nbsp;case Baz(Int, Int)<br class=""><br class="">&nbsp; &nbsp;&nbsp;// generated by the compiler; returns the parallel FooType<br class="">&nbsp; &nbsp;&nbsp;// with cases that don't have associated values<br class="">&nbsp; &nbsp;&nbsp;var enumType: FooType<br class="">}<br class=""><br class="">// generated by the compiler when an enum</div><div class="" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">// has at least one associated value<br class="">enum FooType<br class="">{<br class="">&nbsp; &nbsp;&nbsp;case Bar<br class="">&nbsp; &nbsp;&nbsp;case Baz<br class="">}<br class=""></div><div class="" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><br class=""></div><div class="" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">This would make it possible to be able to refer to cases in the abstract.</div></div></blockquote></div><br class=""></div></body></html>