On 12.11.2016 11:38, Adrian Zubarev via swift-users wrote:

(Adrian, are you from the future? ;-)

We should move this thread to swift-users.

Here is something that I just tried:

|func foo(_: Int, _: Int) {} func boo(_: (Int, Int)) {} type(of: foo) ==
type(of: boo) //=> true ; (((Int, Int)) -> ()).Type let tuple = (0, 42)
foo(tuple) // Tuple splat was removed => Error boo(tuple) // Expected => Okay |


IIUC, as soon as SE-0110(https://github.com/apple/swift-evolution/blob/master/proposals/0110-distingish-single-tuple-arg.md) was not marked as "implemented" yet according to https://apple.github.io/swift-evolution/, we still have some rudiments of older design.

I expect that implementation of SE-0110 will separate types
(Int, Int) -> ()
and
((Int, Int)) -> ()

Also implementation of SE-0110 should remove implicit Void parameter in function defined with no parameters

func f() {}
func g() {}
f(g()) // now works, will be error

func foo(f: () -> ()) { f() }
foo {x in print(x)} // now works, will be error


I'd really like to know when this proposal will be implemented : in Swift 3.x or in 4.x



--
Adrian Zubarev
Sent with Airmail

Am 5. Oktober 2016 um 17:02:43, Anton Zhilin via swift-evolution
(swift-evolut...@swift.org <mailto:swift-evolut...@swift.org>) schrieb:

print(type(of: [Int].append)) //=> (inout Array<Int>) -> (Int) -> ()
print(type(of: print)) //=> ((Array<Any>, String, String)) -> ()



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

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

Reply via email to