[swift-evolution] Disambiguate Return Type With Void
Vladimir.S
svabox at gmail.com
Tue Apr 26 07:26:08 CDT 2016
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:
array.sort(..) // mutating
let array2 = array.sort(..) // non-mutating, instead of array.sorted()
Also, technically we can assign a value to Void function(yes, compiler
warning will be produced, but just warning, not error):
var something = array.sort(..) // mutating,currently this is valid code
// something == ()
On 26.04.2016 13:56, Andrew Bennett via swift-evolution wrote:
> Hey,
>
> I thought I would post another message to this thread because I think it
> was missed when I first sent it (I made the mistake of sending it at 1am
> San Francisco time, I'm in Australia).
>
> I appreciate any feedback :)
>
> Thanks,
> Andrew
>
> On Mon, Mar 28, 2016 at 7:21 PM, Andrew Bennett <cacoyi at gmail.com
> <mailto:cacoyi at gmail.com>> wrote:
>
> Swift can resolve functions based on the return type. However, when the
> result is unused a single function often can't be resolved without
> explicitly specifying the type.
>
> |func example() { ... } func example() -> Int { ... } example() as Void
> example() as Int |
>
> This proposal disambiguates some cases:
>
> * Preferring functions with a |*Void*| return type when the result
> *is* discarded.
> * Preferring functions with a *non-|Void|* type when the result *is
> not* discarded.
>
> These example will be unambiguous:
>
> |example() // will prefer a `Void` function let x = example() // will
> prefer a non-`Void` function|
>
> You can read the full latest version of the proposal here:
>
> https://github.com/therealbnut/swift-evolution/blob/andrew-disambiguate-return-type/proposals/0000-disambiguate-return-type.md
>
> This is the original version
> <https://github.com/therealbnut/swift-evolution/blob/59d0f0b9bdabcfd675f36824232a8efa4a5f9152/proposals/0000-disambiguate-return-type.md> of
> the proposal.
>
>
>
>
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
>
More information about the swift-evolution
mailing list