It is guaranteed to be non-isolated and therefore on the global executor. But, yes the second point is what I was getting at. The static isolation defined for the Task's closure probably* doesn't matter because you'll then just switch according to whatever the callee has defined.
- it would matter, however, if the callee used an isolated parameter with
#isolationdefault, which gaining popularity right now.
Right! So while the isolation of the Task's closure doesn't matter (ish) for it's asynchronous calls, it still most definitely does matter for its synchronous
Thinking about this occupies a considerable amount of my time. I also don't have any good/concrete ideas, but I really like the idea of discussing it because you never know where we'll hit on something!
But, as has been discussed, I'm not sure fire-and-forget is a common enough pattern to warrant attention, especially given how many other aspects of concurrency have been confusing to people. For example, I'd estimate that just non-isolated+async = global executor averages one new thread per day on this forum.