Modify bounds_span to ignore bounds coming from a derive macro

This commit is contained in:
Esteban Kuber 2021-11-17 23:35:38 +00:00
parent e70105f971
commit fa3eebb26e
2 changed files with 24 additions and 15 deletions

View file

@ -31,10 +31,10 @@ LL | impl<T: Debug + Trait> Debug for Inner<T> {
= note: required because of the requirements on the impl of `Debug` for `&c::Inner<T>`
= note: required for the cast to the object type `dyn Debug`
= note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider further restricting this bound
help: consider restricting type parameter `T`
|
LL | #[derive(Debug + c::Trait)]
| ++++++++++
LL | struct Outer<T: c::Trait>(Inner<T>);
| ++++++++++
error[E0277]: the trait bound `T: d::Trait` is not satisfied
--> $DIR/derive-macro-missing-bounds.rs:56:21
@ -53,10 +53,10 @@ LL | impl<T> Debug for Inner<T> where T: Debug, T: Trait {
= note: required because of the requirements on the impl of `Debug` for `&d::Inner<T>`
= note: required for the cast to the object type `dyn Debug`
= note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider further restricting this bound
help: consider restricting type parameter `T`
|
LL | #[derive(Debug + d::Trait)]
| ++++++++++
LL | struct Outer<T: d::Trait>(Inner<T>);
| ++++++++++
error[E0277]: the trait bound `T: e::Trait` is not satisfied
--> $DIR/derive-macro-missing-bounds.rs:71:21
@ -75,10 +75,10 @@ LL | impl<T> Debug for Inner<T> where T: Debug + Trait {
= note: required because of the requirements on the impl of `Debug` for `&e::Inner<T>`
= note: required for the cast to the object type `dyn Debug`
= note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider further restricting this bound
help: consider restricting type parameter `T`
|
LL | #[derive(Debug + e::Trait)]
| ++++++++++
LL | struct Outer<T: e::Trait>(Inner<T>);
| ++++++++++
error[E0277]: the trait bound `T: f::Trait` is not satisfied
--> $DIR/derive-macro-missing-bounds.rs:86:21
@ -97,10 +97,10 @@ LL | impl<T: Debug> Debug for Inner<T> where T: Trait {
= note: required because of the requirements on the impl of `Debug` for `&f::Inner<T>`
= note: required for the cast to the object type `dyn Debug`
= note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider further restricting this bound
help: consider restricting type parameter `T`
|
LL | #[derive(Debug + f::Trait)]
| ++++++++++
LL | struct Outer<T: f::Trait>(Inner<T>);
| ++++++++++
error: aborting due to 5 previous errors