Skip to content

Commit

Permalink
Rollup merge of rust-lang#97645 - lcnr:derived-impl-debug, r=cjgillot
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
matthiaskrgr committed Jun 2, 2022
2 parents 2058c37 + d7645f4 commit 26425b6
Show file tree
Hide file tree
Showing 4 changed files with 6 additions and 35 deletions.
6 changes: 1 addition & 5 deletions compiler/rustc_passes/src/dead.rs
Expand Up @@ -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();
});
Expand Down
7 changes: 1 addition & 6 deletions src/test/ui/derive-uninhabited-enum-38885.stderr
Expand Up @@ -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

21 changes: 3 additions & 18 deletions src/test/ui/derives/clone-debug-dead-code.stderr
Expand Up @@ -16,38 +16,23 @@ 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
|
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
|
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
Expand Down
7 changes: 1 addition & 6 deletions src/test/ui/lint/dead-code/unused-variant.stderr
Expand Up @@ -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

0 comments on commit 26425b6

Please sign in to comment.