[swift-evolution] [Pitch] Require "infix" for infix operator function declarations

Saagar Jha saagarjha28 at gmail.com
Mon Jul 11 23:37:09 CDT 2016


I wouldn’t go as far as to require it, but having it for optional use “for symmetry" seems fine to me.

> On Jul 11, 2016, at 21:03, Jacob Bandes-Storch via swift-evolution <swift-evolution at swift.org> wrote:
> 
> 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 <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/20160711/cb6c8841/attachment.html>


More information about the swift-evolution mailing list