Exactly part of my concern. Hypothetically we've got 2 competing viruses now.
Exactly part of my concern. Hypothetically we've got 2 competing viruses now.
This means that all existing libraries will continue working as is, and newly written or existing code that is compiled against e.g. C# 14/.NET 10(?) can automatically opt into new mechanism without user intervention. The write-up does cover the considerations for interoperability between these two models as well.
In fact, this will make using async from other CIL-based languages much easier as the burden of capturing the state and suspending/resuming the execution will be on the runtime rather than language compiler authors.
Something that I hope they take into account, having new code calling into the old code, is the easy part of the problem.