Avatar
あ、間違えました。actor contextを引き継がないじゃなくて、non-Sendableな値を暗黙的にキャプチャできないか。actor contextは引き継いでますね。 (edited)
👍🏻 1
1:35 AM
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 }
1:36 AM
@_inheritActorContext では例1, 3がエラーになるけど、 @inheritsIsolation では全部OK