diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2022-06-02 23:39:06 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-06-02 23:39:06 +0200 |
| commit | d1ae3a4c3b331f8734690aac3115689f310a7a29 (patch) | |
| tree | 82f89e49eabe9ca65b76966e28a8377936aaaaab | |
| parent | 0e33e97fc742315bf8dd6a3bc2f3616935f73e68 (diff) | |
| parent | d7645f4245518b9d1e216c461f232caea1dcd3f7 (diff) | |
| download | rust-d1ae3a4c3b331f8734690aac3115689f310a7a29.tar.gz rust-d1ae3a4c3b331f8734690aac3115689f310a7a29.zip | |
Rollup merge of #97645 - lcnr:derived-impl-debug, r=cjgillot
don't use a `span_note` for ignored impls Searching for the `derive` isn't too difficult as it's right above the field definition. By using a span these errors are a lot more verbose than they should be, which is especially annoying as one can end up with a lot of `dead_code` warnings.
| -rw-r--r-- | compiler/rustc_passes/src/dead.rs | 6 | ||||
| -rw-r--r-- | src/test/ui/derive-uninhabited-enum-38885.stderr | 7 | ||||
| -rw-r--r-- | src/test/ui/derives/clone-debug-dead-code.stderr | 21 | ||||
| -rw-r--r-- | src/test/ui/lint/dead-code/unused-variant.stderr | 7 |
4 files changed, 6 insertions, 35 deletions
diff --git a/compiler/rustc_passes/src/dead.rs b/compiler/rustc_passes/src/dead.rs index e78d9a59982..519fb7ea264 100644 --- a/compiler/rustc_passes/src/dead.rs +++ b/compiler/rustc_passes/src/dead.rs @@ -722,11 +722,7 @@ impl<'tcx> DeadVisitor<'tcx> { traits_str, is_are ); - let multispan = ign_traits - .iter() - .map(|(_, impl_id)| self.tcx.def_span(*impl_id)) - .collect::<Vec<_>>(); - err.span_note(multispan, &msg); + err.note(&msg); } err.emit(); }); diff --git a/src/test/ui/derive-uninhabited-enum-38885.stderr b/src/test/ui/derive-uninhabited-enum-38885.stderr index 2a44e56a330..58aaf978dc7 100644 --- a/src/test/ui/derive-uninhabited-enum-38885.stderr +++ b/src/test/ui/derive-uninhabited-enum-38885.stderr @@ -5,12 +5,7 @@ LL | Void(Void), | ^^^^^^^^^^ | = note: `-W dead-code` implied by `-W unused` -note: `Foo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis - --> $DIR/derive-uninhabited-enum-38885.rs:10:10 - | -LL | #[derive(Debug)] - | ^^^^^ - = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) + = note: `Foo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis warning: 1 warning emitted diff --git a/src/test/ui/derives/clone-debug-dead-code.stderr b/src/test/ui/derives/clone-debug-dead-code.stderr index 67bb574315a..031b8ce713e 100644 --- a/src/test/ui/derives/clone-debug-dead-code.stderr +++ b/src/test/ui/derives/clone-debug-dead-code.stderr @@ -16,12 +16,7 @@ error: field is never read: `f` LL | struct B { f: () } | ^^^^^ | -note: `B` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis - --> $DIR/clone-debug-dead-code.rs:9:10 - | -LL | #[derive(Clone)] - | ^^^^^ - = note: this error originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) + = note: `B` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis error: field is never read: `f` --> $DIR/clone-debug-dead-code.rs:14:12 @@ -29,12 +24,7 @@ error: field is never read: `f` LL | struct C { f: () } | ^^^^^ | -note: `C` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis - --> $DIR/clone-debug-dead-code.rs:13:10 - | -LL | #[derive(Debug)] - | ^^^^^ - = note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) + = note: `C` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis error: field is never read: `f` --> $DIR/clone-debug-dead-code.rs:18:12 @@ -42,12 +32,7 @@ error: field is never read: `f` LL | struct D { f: () } | ^^^^^ | -note: `D` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis - --> $DIR/clone-debug-dead-code.rs:17:10 - | -LL | #[derive(Debug,Clone)] - | ^^^^^ ^^^^^ - = note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) + = note: `D` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis error: field is never read: `f` --> $DIR/clone-debug-dead-code.rs:21:12 diff --git a/src/test/ui/lint/dead-code/unused-variant.stderr b/src/test/ui/lint/dead-code/unused-variant.stderr index 3b5683a7748..57f8ca74f83 100644 --- a/src/test/ui/lint/dead-code/unused-variant.stderr +++ b/src/test/ui/lint/dead-code/unused-variant.stderr @@ -9,12 +9,7 @@ note: the lint level is defined here | LL | #![deny(dead_code)] | ^^^^^^^^^ -note: `Enum` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis - --> $DIR/unused-variant.rs:3:10 - | -LL | #[derive(Clone)] - | ^^^^^ - = note: this error originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) + = note: `Enum` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis error: aborting due to previous error |
