Fix unused_braces on generic const expr macro call

This commit is contained in:
clubby789 2023-01-07 15:41:32 +00:00
parent 44a500c8c1
commit 4f64de83bc
4 changed files with 16 additions and 1 deletions

View File

@ -1105,6 +1105,7 @@ impl UnusedDelimLint for UnusedBraces {
|| matches!(expr.kind, ast::ExprKind::Lit(_)))
&& !cx.sess().source_map().is_multiline(value.span)
&& value.attrs.is_empty()
&& !expr.span.from_expansion()
&& !value.span.from_expansion()
&& !inner.span.from_expansion()
{

View File

@ -2,10 +2,17 @@
// run-rustfix
#![warn(unused_braces)]
macro_rules! make_1 {
() => {
1
}
}
struct A<const N: usize>;
fn main() {
let _: A<7>; // ok
let _: A<7>; //~ WARN unnecessary braces
let _: A<{ 3 + 5 }>; // ok
let _: A<{make_1!()}>; // ok
}

View File

@ -2,10 +2,17 @@
// run-rustfix
#![warn(unused_braces)]
macro_rules! make_1 {
() => {
1
}
}
struct A<const N: usize>;
fn main() {
let _: A<7>; // ok
let _: A<{ 7 }>; //~ WARN unnecessary braces
let _: A<{ 3 + 5 }>; // ok
let _: A<{make_1!()}>; // ok
}

View File

@ -1,5 +1,5 @@
warning: unnecessary braces around const expression
--> $DIR/unused_braces.rs:9:14
--> $DIR/unused_braces.rs:15:14
|
LL | let _: A<{ 7 }>;
| ^^ ^^