| error[E0276]: impl has stricter requirements than trait |
| --> $DIR/bad-item-bound-within-rpitit.rs:15:13 |
| | |
| LL | type Item<'a> |
| | ------------- definition of `Item` from trait |
| ... |
| LL | 'b: 'a; |
| | ^^ impl has extra requirement `'b: 'a` |
| | |
| help: copy the `where` clause predicates from the trait |
| | |
| LL | where Self: 'b; |
| | ~~~~~~~~~~~~~~ |
| |
| warning: impl trait in impl method signature does not match trait method signature |
| --> $DIR/bad-item-bound-within-rpitit.rs:18:28 |
| | |
| LL | fn iter(&self) -> impl '_ + Iterator<Item = Self::Item<'_>>; |
| | ----------------------------------------- return type from trait method defined here |
| ... |
| LL | fn iter(&self) -> impl 'a + Iterator<Item = I::Item<'a>> { |
| | ^^ this bound is stronger than that defined on the trait |
| | |
| = note: add `#[allow(refining_impl_trait)]` if it is intended for this to be part of the public API of this crate |
| = note: we are soliciting feedback, see issue #121718 <https://github.com/rust-lang/rust/issues/121718> for more information |
| = note: `#[warn(refining_impl_trait_reachable)]` on by default |
| help: replace the return type so that it matches the trait |
| | |
| LL | fn iter(&self) -> impl Iterator<Item = <Self as Iterable>::Item<'_>> + '_ { |
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| |
| error: aborting due to 1 previous error; 1 warning emitted |
| |
| For more information about this error, try `rustc --explain E0276`. |