On 30.06.2016 21:56, Scott James Remnant via swift-evolution wrote:
They already *are* type compatible. This works right now:
var a : (ofHits: Int, forRuns: Int) -> Bool = meetsBattingAverage a =
sinkBattleship // ??? a(ofHits: 1, forRuns: 2)
Your proposal does not make it clear that this works (which is
surprising to me).
I would argue the proposal the other way: that there should be an error
on line 2, and this should not be permitted implicitly.
I'm not sure if this is a definitely bad thing. Let's assume I have a
number of funcs with similar but different labels and I want to define a
function variable with another labels and assign one of these funcs:
func foo(one: Int, two: Int) {..}
func bar(first: Int, second: Int) {..}
var a : (alfa: Int, betta: Int) -> () = foo
a(alfa: 1, betta: 2)
a = bar
a(alfa: 1, betta: 2)
But the type of `a` is still (Int, Int) -> () the same as for `foo` and `bar`
Scott _______________________________________________ swift-evolution
mailing list [email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution