Avatar
↓壊れた。本当は async の中の_foo の呼び出しがコンパイルエラーでないといけないと思う。 @swift-4.2.4 import Dispatch struct S { var a: Int = 42 mutating func foo() { func _foo() { if a == 0 { return } a -= 1 print(a) DispatchQueue.main.async { _foo() } } foo() } } var s = S() s.foo()