rust/tests/ui/impl-trait/in-trait/bad-item-bound-within-rpitit.stderr

34 lines
1.4 KiB
Plaintext
Raw Normal View History

error[E0276]: impl has stricter requirements than trait
2023-09-13 11:04:42 -05:00
--> $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;
| ~~~~~~~~~~~~~~
2023-09-01 23:02:11 -05:00
warning: impl trait in impl method signature does not match trait method signature
2023-09-13 11:04:42 -05:00
--> $DIR/bad-item-bound-within-rpitit.rs:18:28
2023-09-01 23:02:11 -05:00
|
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
|
2023-09-06 19:49:04 -05:00
= note: add `#[allow(refining_impl_trait)]` if it is intended for this to be part of the public API of this crate
2023-09-01 23:02:11 -05:00
= note: `#[warn(refining_impl_trait)]` on by default
help: replace the return type so that it matches the trait
|
2023-09-06 19:20:31 -05:00
LL | fn iter(&self) -> impl Iterator<Item = <Self as Iterable>::Item<'_>> + '_ {
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2023-09-01 23:02:11 -05:00
error: aborting due to previous error; 1 warning emitted
2023-07-27 13:23:42 -05:00
For more information about this error, try `rustc --explain E0276`.