Open vkgnosis opened 2 years ago
rustfmt does not format macros that use braces.
A known workaround is to combine parentheses and blocks.
- let s = async_stream::stream! {
+ let s = async_stream::stream!({
let a = 0u32;
- };
+ });
(Note that the formatting will not work anyway if macro-specific syntax such as for await
is used.)
This is an issue with tokio::select!
as well.
Take a simple example like
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
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.