The following code crashes on Swift 3, can anyone please explain why?
struct S {
let a:Int
}
let t = [S(a: 8)]
let u:AnyObject = t as NSObject
let v:[S] = u as! [S]
Is that because in Swift 3 array of structs is NSObject (it's not in Swift 2) and it somehow can't be converted to NSArray well? And why is it NSObject?..