[swift-evolution] [Proposal] Improving operator requirements in protocols

David Sweeris davesweeris at mac.com
Mon May 2 18:26:51 CDT 2016


> On May 2, 2016, at 5:58 PM, Chris Lattner via swift-evolution <swift-evolution at swift.org> wrote:
> 
> On May 2, 2016, at 1:56 PM, Dave Abrahams via swift-evolution <swift-evolution at swift.org> wrote:
>>>   How does one distinguish between calls to a static prefix operator and a
>>>   static postfix operator with the same name?
>>> 
>>> Ah, that's a tricky one that I don't have an immediate answer to, so I'm
>>> definitely open to creative thoughts here.
>> 
>> One possibility: just use “qualified operator” notation.
>> 
>>   lhs T.+= rhs
>> 
>>   T.++x
>>   x T.++
> 
> I’m not sure if this is exactly right, but it seems close.  I think that something like this is probably the best way to go, since it composes properly in arbitrary expressions.  It does have a surface level weirdness to it, but it also "makes sense” in terms of how operators work.  
Yeah… Maybe with parens?
T.++(x)
(x)T.++
Or is that worse?

- Dave Sweeris
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160502/ee0a4e93/attachment.html>


More information about the swift-evolution mailing list