Using async/await with existing non-concurrent code

The elephant in the room here is structured concurrency. The structured concurrency pitch is still in a draft phase, but it’s clearly a central part of the core team’s thinking about the problem space. The pitch doesn’t really go into much depth on what “structured concurrency” is, let alone why it’s (perceived as) better; for that, one must look elsewhere.

The fact that scoped futures have lightweight syntax sugar in the pitch and runDetached doesn’t is hardly an oversight; async void is to structured concurrency as unconstrained goto is to structured programming. From this perspective, @asyncHandler is already a pretty big concession for compatibility with existing frameworks.

1 Like