Avatar
let a: () -> Int = { 42 } print(type(of: a)) print(a as AnyObject === a as AnyObject) let b: @convention(block) () -> Int = a as @convention(block) () -> Int print(type(of: b)) print(b as AnyObject === b as AnyObject) var x: AnyObject = b // NG: value of type '@convention(block) () -> Int' does not conform to specified type 'AnyObject'
3:04 AM
bはあくまでコンベンションブロックなクロージャであってAnyObjectではないみたい。
3:05 AM
まあ実際にはAnyObject互換なオブジェクトなんだろうけど・・