[swift-users] Porting Swift 2.2 to Swift 3.0
Ryan Lovelett
swift-dev at ryan.lovelett.me
Thu Jun 23 22:04:27 CDT 2016
The following code does not compile in Swift 3.0 and it used to compile
in Swift 2.2. I'm pretty sure it is a bug in Swift 3.0, since it used to
work in Swift 2.2, but perhaps it was a bug that it worked in Swift 2.2.
Help?
extension Dictionary {
init<S: Sequence where S.Iterator.Element == Element>(pairs: S) {
self.init()
for (key, value) in pairs {
self[key] = value
}
}
}
let foo = ["Lorem", "ipsum"]
let bar = ["dolor", "sit"]
let baz = zip(foo, bar)
let qux = baz.lazy
.map({ ($0.uppercased(), $1.uppercased()) })
Dictionary(pairs: baz)
Dictionary(pairs: qux)
The before and after code can be seen in this gist.
https://gist.github.com/anonymous/30cfb47de65b37f4a99429e3d0392de8
More information about the swift-users
mailing list