[swift-evolution] Pitch: disallow `()` from Switch statement case satisfaction

Haravikk swift-evolution at haravikk.me
Thu Oct 13 06:59:55 CDT 2016


> On 13 Oct 2016, at 12:26, Alex Blewitt <alblue at apple.com> wrote:
> 
> On 13 Oct 2016, at 11:06, Haravikk via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>> 
>>> 
>>> On 11 Oct 2016, at 19:43, Erica Sadun via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>>> 
>>> I thought this was long gone but today I found out it is still legal:
>>> 
>>> switch i {
>>> case 4 ... 6: ()
>>> case 3: print("Here")
>>> default: break
>>> }
>>> 
>>> Is there a motivating factor for keeping this in the language? The compiler picks up on Void and emits an error. You'd think () would produce the same results but it doesn't.
>>> 
>>> — Erica
>> 
>> Hopefully I'm not the only one but… how are we supposed to be doing this? Because () is exactly what I've been using the entire time for cases that I want to ignore (or are handled in code outside the switch). I'm going to have a few dozen files to edit if there's something else I'm supposed to be using… 
> 
> You can have a 'break' there, which is equivalent to a nop but without a return value. Whether that's what you're supposed to do or not is a different issue :)

Perhaps too philosophical a question? ^^

You're right though, I probably should be using breaks as they're more explicit, and I suppose fallthrough should work too so all cases should be covered without having to use (), in that case it maybe is something worth getting rid of?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20161013/783b743e/attachment.html>


More information about the swift-evolution mailing list