Sendable
な値を暗黙的にキャプチャできないか。actor contextは引き継いでますね。 (edited)final class Foo { var value: Int = 0 }
// 例1: actor actor Bar { func useFoo(foo: sending Foo) { Task { foo.value += 1 } foo.value += 1 } }
// 例2: global actor @MainActor func useFooMain(foo: sending Foo) { Task { foo.value += 1 } foo.value += 1 }
// 例3: isolated引数 func useFoo<A: Actor>(actor: isolated A, foo: sending Foo) { Task { foo.value += 1 } foo.value += 1 }
@_inheritActorContext
では例1, 3がエラーになるけど、 @inheritsIsolation
では全部OK