ConcurrencyのTaskをCombineのPublisherのように自動キャンセルしたいとき、以下のようなものを用意しておくと便利かもしれない。
extension Task { public func store(in set: inout Set<AnyCancellable>) { set.insert(AnyCancellable { self.cancel() }) } }
var cancellables = Set<AnyCancellable>() ... Task { ... } .store(in: &cancellables)