[swift-evolution] [Idea] Allowing most keywords after "."
Radosław Pietruszewski
radexpl at gmail.com
Sat Feb 27 07:37:22 CST 2016
+1, that makes a lot of sense.
Q: Is `case default` in enum context ambiguous? In case I’m forgetting something, `default` is only used in `switch` contexts. So… couldn’t we make the keyword context dependent?
— Radek
> On 26 Feb 2016, at 21:43, Douglas Gregor via swift-evolution <swift-evolution at swift.org> wrote:
>
> Hi all,
>
> As part of the grand API guidelines discussion, there was a lot of support for using lowerCamelCase for enum cases, because they are values in Swift. One unfortunate wrinkle here is that it’s not at all uncommon to have a case named “Default” for an enumeration. One example pulled randomly from GitHub:
>
> enum DispatchQOS {
> case UserInteractive
> case UserInitiated
> case Default
> case Utility
> case Background
> }
>
> If we’re lowerCamelCasting enum cases, this becomes:
>
> enum DispatchQOS {
> case userInteractive
> case userInitiated
> case `default`
> case utility
> case background
> }
>
> Note the back-ticks, which are also needed at the call site:
>
> func dispatch(priority priority:
>
> dispatch(priority: .`default`) { … }
>
> We could allow one to refer to keywords without back-ticks following a “.”, similarly to the way we allow keywords without back-ticks preceding a ‘:’ for argument labels, e.g.:
>
> func dispatch(priority priority:
>
> dispatch(priority: .`default`) { … }
>
> One would still need to use back-ticks in the declaration of the case, but at least uses would be back-tick-free. Thoughts?
>
> - Doug
>
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160227/9291e590/attachment.html>
More information about the swift-evolution
mailing list