Deadlock When Using DispatchQueue from Swift Task

True, but also practically-speaking even finite over-commit is helpful, just like practically-speaking one can do some blocking in Tasks, as you pointed out, even though broadly-speaking it's unsafe to do so.

It's not even so much about disagreeing; I get that there's no unequivocal answer. I respect the position taken here. I get what is being attempted. It's just frustrating, you know, when one hits deadlock issues with Tasks. It feels like a little leeway, like GCD offers, would go a long way, pragmatically-speaking.

Perhaps the way to improve this situation is laterally, through better APIs and libraries for useful patterns like producer-consumers, back-pressure in general, etc. Last I was really playing in this area, a few months ago, there was surprisingly little there for Swift Concurrency. e.g. is there an equivalent to Dispatch's apply yet? Something like that could help with @nsc's scenario.

I did see some things recently, like [Pitch] New APIs for Async[Throwing]Stream with backpressure support, that are promising.