[swift-evolution] [Pitch] Require "infix" for infix operator function declarations
Xiaodi Wu
xiaodi.wu at gmail.com
Tue Jul 12 03:51:18 CDT 2016
But is there anything actually wrong with the way it is today?
On Tue, Jul 12, 2016 at 3:22 AM, Anton Zhilin via swift-evolution <
swift-evolution at swift.org> wrote:
> Why don't we go the other direction? Example:
>
> func ^^(prefix: Int) {}
> func ^^(postfix: Int) {}
> func ^^(lhs: Int, rhs: Int) {}
>
> We will make 'prefix', 'postfix' and perhaps 'lhs' and 'rhs' required
> external parameter names for operator functions.
>
> 2016-07-12 7:03 GMT+03:00 Jacob Bandes-Storch via swift-evolution <
> swift-evolution at swift.org>:
>
>> Currently, "infix" is not required/allowed on an operator function
>> definition, but "prefix" and "postfix" are:
>>
>> prefix operator ^^ {} // valid
>> postfix operator ^^ {} // valid
>> infix operator ^^ {} // valid
>>
>> prefix func ^^(operand: Int) {} // valid
>> postfix func ^^(operand: Int) {} // valid
>> infix func ^^(lhs: Int, rhs: Int) {} // *error: *'infix' modifier
>> is not required or allowed on func declarations
>> func ^^(lhs: Int, rhs: Int) {} // valid
>>
>> It seems like this was removed because it can be inferred from the number
>> of arguments (
>> https://github.com/apple/swift/commit/3ad9c58c18f0331444114e2eae3e772e702c326f).
>> But IMO the inconsistency from other operator function decls/defs is
>> jarring.
>>
>> How does everyone feel about reinstating the "infix" modifier on
>> functoins? (It was removed before the open-source release and the advent of
>> swift-evolution, so I thought it'd be worth a public review.)
>>
>> Jacob
>>
>
> _______________________________________________
> 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/20160712/888d72af/attachment.html>
More information about the swift-evolution
mailing list