mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-23 07:14:28 +00:00
35 lines
1.5 KiB
Plaintext
35 lines
1.5 KiB
Plaintext
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`.
|