Task.init
(旧 async
)は外側のactor contextが引き継がれるのに、 TaskGroup.addTask
(旧 TaskGroup.async
)は引き継がれないのはなぜTask { await withTaskGroup(of: Void.self, body: { group in group.addTask { // ここが non-isolated になっちゃう } group.addTask { // ここが non-isolated になっちゃう } }) }
@Sendable
なクロージャーを取るからなんですが、 Task.init
と同じ扱いにしてないのはなぜ、という意味で。