Avatar
Avatar
lovee
Swiftのdefer、いつから変数宣言前から使えるようになったっけ…? do { defer { print(a) } // ←まだaが宣言されてないよ…? let a = 0 }
Swift 5.5 で殺されてますね https://github.com/apple/swift/pull/36441 @swift-main do { defer { print(a) } // ←まだaが宣言されてないよ…? let a = 0 } ... お、swiftbot-sandbox でさんざん実験済みだったのか笑 (edited)
While 'defer' is implemented as a local function, it doesn't behave as one. In particular, since SILGen runs it after destroying all local bindings that appear after the &am...