If you myTask?.cancel() in fact does that signal to sub-tasks as well or do you have to manually do so?
11:07 07 Jan 2026
func updateEverythingFromTheCloud() async { // takes some minutes
     await updateDrumsFromTheCloud() // these take a minute
     await updateMixFromTheCloud()
     await updateClapsFromTheCloud()
}

you would have something like

.. user has logged out, project has changed, etc {
     updater?.cancel()
}

and hence,

func updateEverythingFromTheCloud() async { // takes some minutes
     await updateDrumsFromTheCloud() // these take a minute
     if Task.isCancelled {
            blah(); return
        }
     await updateMixFromTheCloud()
     if Task.isCancelled {
            blah(); return
        }
     await updateClapsFromTheCloud()
     if Task.isCancelled {
            blah(); return
        }
}

however often those sub-calls themselves may have sundry await so you also want THOSE to get a .cancel()

(A) In fact does the updater?.cancel() call also signal to any/all "sub" awaits that have been called by the updater await, or no?

(b) If not, I can't see a really elegant way to do so, is there such? Is there a call like someTask.tellMeAnySubTasksYouHaveAwaited() .. ??

swift5 swift-concurrency