[swift-evolution] [Pitch] Allow use of the name "default" for enum cases and function names

E. Maloney emaloney at gilt.com
Fri Jun 17 15:45:31 CDT 2016


While upgrading to Swift 3, I noticed that I had a few enums with cases named .Default that, after being converted to lowercase, now need to be rendered using the ugly .`default` notation.

I also noticed something similar while reading the docs for NotificationCenter (the NSNotificationCenter replacement, that is, not the NotificationCenter that governs the notification center UI); “default” can’t be used as a function name without escaping, so the declaration is:

class func `default`()

It seems to me that in the case of function names and enum cases, the parser should be able to unambiguously distinguish between the Swift keyword “default” and a user-defined name “default”, since IIRC the keyword “default” can only be used in parameter lists for generated headers and as the last item in a switch statement.

(Perhaps this is also another argument in favor of using “case _:” in place of “default:” in a switch statement.)

What do you think? Is there any reason this *wouldn’t* be feasible?


More information about the swift-evolution mailing list