[swift-evolution] [Pitch] Require "infix" for infix operator function declarations
Anton Zhilin
antonyzhilin at gmail.com
Tue Jul 12 03:22:19 CDT 2016
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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160712/84f4051b/attachment.html>
More information about the swift-evolution
mailing list