[swift-evolution] [Idea] Allow more operators as custom operators

hitstergtd+swiftevo at gmail.com hitstergtd+swiftevo at gmail.com
Sun Apr 10 16:14:06 CDT 2016


How about "<-"?

I could see a few shorthands with that for Strings, etc. :-)

On 10 April 2016 at 22:03, Jean-Daniel Dupas via swift-evolution
<swift-evolution at swift.org> wrote:
>
> Le 10 avr. 2016 à 15:01, Антон Жилин via swift-evolution
> <swift-evolution at swift.org> a écrit :
>
> & (as a prefix operator), ->, ?, and ! (as a postfix operator)
>
> This is the list of built-ins that look like operators, but are banned from
> use as Swift custom operators.
>
> We can review that list.
>
> `&` reserved as a prefix operators for a reason. It marks a variable use as
> `inout`, which currently cannot be done by any Swift operator function.
>
> Other three don't have such justification.
>
> `->`, `?` and `!` are used in types, but they are mostly unambiguous in
> expressions.
>
> The only use of `!` in expressions can be rewitten as a built-in operator
> function:
> postfix func ! <T> (left: T!) -> T
>
> `?` is used in optional method calls:
> a.method?(b)
> A parallel proposal is going to remove such syntax from Swift, so this will
> not be a problem.
>
> `?` is also used in patterns:
> if case x? = optional { ... }
>
>
> While the use is unambiguous for the compiler, I’m not sure it’s going to be
> unambiguous for code readers. Having the same operator meaning different
> things depending the context is a bad idea IMHO.
>
>
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
>


More information about the swift-evolution mailing list