rustfmt removes parenthesis in macro call
Open
@rscprof is already working on this.
Since Jan 16, 2024.
C-bug
- Dominant language
- Rust
- Stars
- 7k
- Forks
- 1.1k
- Avg merge
- 2d 13h
- Merged PRs (30d)
- 24
Description
In the following snippet:
https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=9b0e4357d4c32e40b179c243c6861f6c
macro_rules! mymacro {
($tt1:tt $(+ $tt2:tt)*) => {
fn foo<F>(f: F)
where
F: $tt1 $(+ $tt2)*
{}
}
}
mymacro!((for<'a> Fn()) + Send + Sync);
rustfmt removes paren in the following macro call:
mymacro!((for<'a> Fn()) + Send + Sync);
so that it gets turned into:
mymacro!(for<'a> Fn() + Send + Sync);
Unfortunately, the latter is not equivalent and does not compile
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.