Skip to content

Rustfmt cannot format stream! blocks #68

Open
rust-lang/rustfmt
#5538
@vkgnosis

Description

@vkgnosis

Take a simple example like

fn main() {
    let s = async_stream::stream! {
        for i in 0..3 {
            yield i;
        }
    };
}

in a new rust project. Add some spaces to break the indentation somewhere in the macro invocation. Run cargo fmt. See that Rustfmt completely ignores the code inside of the macro.

This already happens in a simple block like

    let s = async_stream::stream! {
         let a = 0u32;
    };

I'm not sure if this is a bug in Rustfmt or something this crate can fix or if there are some Rustfmt options that can be changed to fix this.
My current workaround is to remove the async_stream::stream! part, run Rustfmt, add it back.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions