Task.init
を使って、non-Sendable
な値を Task.init
にキャプチャしているとして、その処理自体は汎用性があってどのisolation domainで実行しても良いとなったときに、その処理を関数に切り出すことができなくなってしまいそう。Task.init
は特別にactor contextを引き継ぎ、それによって Task
の内外でnon-Sendable
な値を受け渡しできるようになるけど、それができるかどうかがコードが書かれた場所によって変わってしまう。