> Le 10 avr. 2016 à 15:01, Антон Жилин via swift-evolution > <[email protected]> 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 [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
