Avatar
@swift-4.2.4 func run(_ body: @escaping () -> Void) { body() } struct S { var a: Int = 3 mutating func foo() { func _foo() { if a == 0 { return } a -= 1 print(a) run { _foo() } } _foo() } } var s = S() s.foo() (edited)