<div dir="ltr">Hi Vladimir, thanks for your feedback, I&#39;ve put my responses inline:<br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Apr 26, 2016 at 10:26 PM, Vladimir.S via swift-evolution <span dir="ltr">&lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Interesting suggestion, but IMO this will produce a question about new naming conversion in Swift 3.0 (noun/verb, -ing/-ed, etc) because using your suggestion we could want to use:<br>
<br>
array.sort(..) // mutating<br>
let array2 = array.sort(..) // non-mutating, instead of array.sorted()<br>
<br></blockquote><div><br></div><div>This proposal does not want to change any naming guidelines. The reasons for those guidelines is good, and remains the same. One reason is that method names help distinguish mutating and non-mutating methods.</div><div><br></div><div>I&#39;m happy to discuss making the proposal only apply to functions with the same mutability if that alleviates your concern.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
Also, technically we can assign a value to Void function(yes, compiler warning will be produced, but just warning, not error):<br>
<br>
var something = array.sort(..) // mutating,currently this is valid code<br>
// something  == ()<span><br>
<br></span></blockquote><div><br></div><div>You&#39;re right, although I don&#39;t think there would be a worthwhile loss of functionality if that statement chose a non-Void function, or didn&#39;t store the result. I&#39;m not sure why you would want to store the Void.</div><div><br></div><div>Note that this proposal is only to resolve ambiguity *if* there is any :) It won&#39;t change how functions are resolved when there is no ambiguity.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span>
<br>
On <a href="tel:26.04.2016%2013" value="+12604201613" target="_blank">26.04.2016 13</a>:56, Andrew Bennett via swift-evolution wrote:<br>
</span><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span>
Hey,<br>
<br>
I thought I would post another message to this thread because I think it<br>
was missed when I first sent it (I made the mistake of sending it at 1am<br>
San Francisco time, I&#39;m in Australia).<br>
<br>
I appreciate any feedback :)<br>
<br>
Thanks,<br>
Andrew<br>
<br>
On Mon, Mar 28, 2016 at 7:21 PM, Andrew Bennett &lt;<a href="mailto:cacoyi@gmail.com" target="_blank">cacoyi@gmail.com</a><br></span><span>
&lt;mailto:<a href="mailto:cacoyi@gmail.com" target="_blank">cacoyi@gmail.com</a>&gt;&gt; wrote:<br>
<br>
    Swift can resolve functions based on the return type. However, when the<br>
    result is unused a single function often can&#39;t be resolved without<br>
    explicitly specifying the type.<br>
<br>
    |func example() { ... } func example() -&gt; Int { ... } example() as Void<br>
    example() as Int |<br>
<br>
    This proposal disambiguates some cases:<br>
<br></span>
      * Preferring functions with a |*Void*| return type when the result<br>
        *is* discarded.<br>
      * Preferring functions with a *non-|Void|* type when the result *is<br>
        not* discarded.<span><br>
<br>
    These example will be unambiguous:<br>
<br>
    |example() // will prefer a `Void` function let x = example() // will<br>
    prefer a non-`Void` function|<br>
<br>
    You can read the full latest version of the proposal here:<br>
<br>
    <a href="https://github.com/therealbnut/swift-evolution/blob/andrew-disambiguate-return-type/proposals/0000-disambiguate-return-type.md" rel="noreferrer" target="_blank">https://github.com/therealbnut/swift-evolution/blob/andrew-disambiguate-return-type/proposals/0000-disambiguate-return-type.md</a><br>
<br>
    This is the original version<br></span>
    &lt;<a href="https://github.com/therealbnut/swift-evolution/blob/59d0f0b9bdabcfd675f36824232a8efa4a5f9152/proposals/0000-disambiguate-return-type.md" rel="noreferrer" target="_blank">https://github.com/therealbnut/swift-evolution/blob/59d0f0b9bdabcfd675f36824232a8efa4a5f9152/proposals/0000-disambiguate-return-type.md</a>&gt; of<br>
    the proposal.<br>
<br>
<br>
<br>
<br>
_______________________________________________<br>
swift-evolution mailing list<br>
<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a><br>
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br>
<br>
</blockquote>
_______________________________________________<br>
swift-evolution mailing list<br>
<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a><br>
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br>
</blockquote></div><br></div></div>