oh man, what a time to be alive!
I 100% agree with this proposal! It spells out in actual well-thought-out words what my gut feeling was about the isolation rules.
I have bumped into this very issue many times (eg: this post). In current Swift, certain patterns (really any type of async utility type or function) are just so cumbersome to spell out or plain impossible to implement with Swift Concurrency.
But seeing how complicated that all would be (for both complier and runtime I guess) I resigned and settled on "maybe one day we at least get a @inheritsIsolation
on a function or something".
I applaud the courage to tackle this, and I appreciate calling out that SE-0338 was ultimately not the ideal move (I understand though that at the time, doing what is proposed here was probably too far out). If this actually lands, to me, this incremental evolution at its finest!
Also, taking a step back: Especially with this proposal in place, I find the concurrency system in swift is truly remarkable. The level of static analysis of isolation and RBI (especially with these new inheritance rules), combined with hard-to-get-right runtime features, is awe-inspiring. I hope once the dust settles, and we have all tended to our cuts and bruises from migrating to it, we can fully appreciate this impressive work of art.