]> git.lizzy.rs Git - rust.git/commitdiff
Fix `unused_braces` on generic const expr macro call
authorclubby789 <jamie@hill-daniel.co.uk>
Sat, 7 Jan 2023 15:41:32 +0000 (15:41 +0000)
committerclubby789 <jamie@hill-daniel.co.uk>
Sat, 14 Jan 2023 15:49:08 +0000 (15:49 +0000)
compiler/rustc_lint/src/unused.rs
tests/ui/const-generics/unused_braces.fixed
tests/ui/const-generics/unused_braces.rs
tests/ui/const-generics/unused_braces.stderr

index ac2b32b44e6a1d42e16ab70e7f41872df229b829..f2ee9ab1a19873cfac16b3e6f2c29c253a5267a5 100644 (file)
@@ -1105,6 +1105,7 @@ fn check_unused_delims_expr(
                                 || 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()
                         {
index d080c210e6bd291c7c53467d263d631f0993861d..4c1926387b926a4e843b3e6c5176af7d0b964c95 100644 (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
 }
index 47f0f8c1c96c91ba2d08368fc460b3401703b611..e9f15b401807915c0f85cf7893e8e14d67d60ab0 100644 (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
 }
index 553a3a0f88ebae22e415562ff78016bcef43657b..2c8031c430020b8f86e38ab53137ab02c3783e30 100644 (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 }>;
    |              ^^ ^^