Code
#[derive(Debug)]
struct S<T>(T);
struct X;
fn main() {
println!("{:?}", S(X));
}
Current output
error[E0277]: `X` doesn't implement `Debug`
--> src/main.rs:6:22
|
6 | println!("{:?}", S(X));
| ---- ^^^^ `X` cannot be formatted using `{:?}` because it doesn't implement `Debug`
| |
| required by this formatting parameter
|
= help: the trait `Debug` is not implemented for `X`
= note: add `#[derive(Debug)]` to `X` or manually `impl Debug for X`
help: the trait `Debug` is implemented for `S<T>`
--> src/main.rs:1:10
|
1 | #[derive(Debug)]
| ^^^^^
note: required for `S<X>` to implement `Debug`
--> src/main.rs:2:8
|
1 | #[derive(Debug)]
| ----- in this derive macro expansion
2 | struct S<T>(T);
| ^ - type parameter would need to implement `Debug`
= help: consider manually implementing `Debug` to avoid undesired bounds
help: consider annotating `X` with `#[derive(Debug)]`
|
4 + #[derive(Debug)]
5 | struct X;
|
Desired output
error[E0277]: `X` doesn't implement `Debug`
--> src/main.rs:6:22
|
6 | println!("{:?}", S(X));
| ---- ^^^^ `X` cannot be formatted using `{:?}` because it doesn't implement `Debug`
| |
| required by this formatting parameter
|
= help: the trait `Debug` is not implemented for `X`
help: the trait `Debug` is implemented for `S<T>`
--> src/main.rs:1:10
|
1 | #[derive(Debug)]
| ^^^^^
note: required for `S<X>` to implement `Debug`
--> src/main.rs:2:8
|
1 | #[derive(Debug)]
| ----- in this derive macro expansion
2 | struct S<T>(T);
| ^ - type parameter would need to implement `Debug`
= help: consider manually implementing `Debug` to avoid undesired bounds
help: consider annotating `X` with `#[derive(Debug)]`
|
4 + #[derive(Debug)]
5 | struct X;
|
Rationale and extra context
The contents of the first note are redundant with the last two helps.
Other cases
Rust Version
1.95 through 1.98-nightly
Anything else?
Noticed while looking at #157117.
Code
Current output
Desired output
Rationale and extra context
The contents of the first note are redundant with the last two helps.
Other cases
Rust Version
Anything else?
Noticed while looking at #157117.