> On Aug 1, 2016, at 3:01 PM, Anton Zhilin via swift-evolution 
> <swift-evolution@swift.org> wrote:
> 2016-08-02 0:52 GMT+03:00 Xiaodi Wu <xiaodi...@gmail.com 
> <mailto:xiaodi...@gmail.com>>:
> On Mon, Aug 1, 2016 at 4:41 PM, Anton Zhilin via swift-evolution 
> <swift-evolution@swift.org <mailto:swift-evolution@swift.org>> wrote:
> Disclaimer: I have not (yet) prepared a proposal, or even something that 
> could be considered a draft, but I want to hear public opinion on the topic.
> 
> SE-0077 (about precedence groups) has been successfully implemented for Swift 
> 3. (A thousand thanks to John McCall!) It suggests a model where we can 
> prohibit certain operators from standing next to each other.
> 
> This was intended to be the second part of that proposal. We now have to 
> think if we should drop some precedence relationships between standard 
> operators. Here are examples of parentheses dropping that can be ambiguous to 
> reader:
> 
> 1/3 as Double   // should we prohibit this?
> 
> Why should we? I would absolutely want that to work exactly as it does now 
> (0.333333...).
> 
> Strange enough, I've just run it and yes, 0.333333... But casting precedence 
> is lower than multiplicative, so I thought it would parse as '(1/3) as 
> Double'. Is it a bug?

You're applying C-style thinking.  Swift does not have implicit promotions.  
Coercing the result of 1/3 to Double forces the operands to be Doubles as well.

John.
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to