Skip to content

Support async blocks and await expressions #174

@xFrednet

Description

@xFrednet

Marker is currently still missing a stable representation for async blocks and await expressions. For now, these will be transformed into an UnstableExpr and a note will be printed notifying the used.

Async blocks and await expressions are quite complicated, which is the main reason why they are missing. Rust desugars them into several sub expressions with different LangItems. Other expressions, like for loops are resugared by marker to make linting more pleasant and hide the specific implementation the driver choose. For async blocks and await expressions, it would be good to do the same. However, that's a beast I just haven't dared to touch.

Until that time, please use this issue to share await and async code snippets which can be used for testing when that beast is finally tackled.


The MARKER_DISABLE_ASYNC_WARNING environment value can be used to disable the warnings. You might have to clean the project first for the value to take effect.

Metadata

Metadata

Assignees

Labels

A-apiArea: Stable APIC-enhancementCategory: New feature or requestD-rustc-driverDriver: Rustc DriverE-help-wantedParticipation: Issues with some complexity and where help would be highly appreciated

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions