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.