[swift-evolution] [pitch] Variadic Arguments should accept Arrays
Derrick Ho
wh1pch81n at gmail.com
Sun Feb 26 10:26:42 CST 2017
In swift, a variadic argument can become an array without too much effort.
func foo(_ va: String...) {
let a: [String] = va
}
However, it seems odd to me that an array can not be converted into a
variadic argument
foo(["a", "b", "c"]) // <-error
foo("a", "b", "c") // no error
Other people have wondered about this too.
<http://stackoverflow.com/questions/24024376/passing-an-array-to-a-function-with-variable-number-of-args-in-swift>
According to this thread
<https://devforums.apple.com/message/970958#970958> Doug
Gregor says it is due to some type ambiguity. with Generics.
If type ambiguity is the issue, Do we have the option to cast it to the
correct type?
foo(["a", "b", "c"] as String...) // <- error. doesn't consider String...
to be a type.
What does the community think? Should we be granted some mechanism to turn
an array into a variadic argument?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20170226/3a4d3586/attachment.html>
More information about the swift-evolution
mailing list