swift_release
されるので、Task構造体のキャプチャがチェインしていてもリークの心配は無さそうです。 https://github.com/apple/swift/blob/dd00a7571acd512873b13d9329bb7d159cf2568c/stdlib/public/Concurrency/Task.cpp#L489 Concurrency.Task
は値型だから、ヒープ上の実体オブジェクトがあって、それがここでreleaseしてるって事かな? 終了したTaskに対して後から task.value
で取れるけど、これは Cocurrency.Task
に保存されてる?Task
がコピーされてるときってどうなってるんだ