Avatar
Avatar
omochimetaru
internal func withValueImpl<R>(_ valueDuringOperation: __owned Value, operation: () async throws -> R, isolation: isolated (any Actor)?, file: String = #fileID, line: UInt = #line) async rethrows -> R { _taskLocalValuePush(key: key, value: consume valueDuringOperation) defer { _taskLocalValuePop() } return try await operation() }
これTaskLocal特別扱いかなあ よく考えてみるとRの出自のコンテキストがわからないのはそうって感じがしてきた
7:42 AM
#isolation はその関数自体のアイソレーションを言ってて、渡される関数のことは関係なくて
7:42 AM
_inheritActorContext は渡される関数のアイソレーションを言ってるから別物?
7:43 AM
いや、でもescapingじゃなければ同じはずだよな・・・