[swift-users] Swift 4 Strings and flatMap
Santiago Gil
santi at thumbtack.com
Fri Oct 20 19:23:26 CDT 2017
Hi Swift users,
I just ran into a bug after a Swift 4 migration where we expected [String]
and got [Character] from a flatMap since flatMap will flatten the String
since it's now a collection. While I understand why flatMap behaves this
way now that string are collections, in testing this I found some weird
behaviour...
var strArr = ["Hi", "hello"]
let result = strArr.flatMap { x in
return x
}
The type of results ends up being [Character] in the above case. However,
adding a print statement changes things.
var strArr = ["Hi", "hello"]
let result = strArr.flatMap { x in
print(x)
return x
}
In this case, result is of type [String]
This seems like a bug, or is this expected Swift behaviour?
Thanks,
Santiago
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-users/attachments/20171021/f196dacf/attachment.html>
More information about the swift-users
mailing list