56 lines
2.6 KiB
Plaintext
56 lines
2.6 KiB
Plaintext
error[E0582]: binding for associated type `Item` references lifetime `'missing`, which does not appear in the trait input types
|
|
--> $DIR/span-bug-issue-121457.rs:13:51
|
|
|
|
|
LL | fn iter(&self) -> impl for<'missing> Iterator<Item = Self::Item<'missing>> {}
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
error[E0582]: binding for associated type `Item` references lifetime `'missing`, which does not appear in the trait input types
|
|
--> $DIR/span-bug-issue-121457.rs:13:51
|
|
|
|
|
LL | fn iter(&self) -> impl for<'missing> Iterator<Item = Self::Item<'missing>> {}
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
|
|
|
|
error[E0195]: lifetime parameters or bounds on type `Item` do not match the trait declaration
|
|
--> $DIR/span-bug-issue-121457.rs:10:14
|
|
|
|
|
LL | type Item<'a>
|
|
| ---- lifetimes in impl do not match this type in trait
|
|
LL | where
|
|
LL | Self: 'a;
|
|
| -- this bound might be missing in the impl
|
|
...
|
|
LL | type Item = u32;
|
|
| ^ lifetimes do not match type in trait
|
|
|
|
error[E0277]: `()` is not an iterator
|
|
--> $DIR/span-bug-issue-121457.rs:13:23
|
|
|
|
|
LL | fn iter(&self) -> impl for<'missing> Iterator<Item = Self::Item<'missing>> {}
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `()` is not an iterator
|
|
|
|
|
= help: the trait `Iterator` is not implemented for `()`
|
|
|
|
warning: impl trait in impl method signature does not match trait method signature
|
|
--> $DIR/span-bug-issue-121457.rs:13:51
|
|
|
|
|
LL | fn iter(&self) -> impl Iterator;
|
|
| ------------- return type from trait method defined here
|
|
...
|
|
LL | fn iter(&self) -> impl for<'missing> Iterator<Item = Self::Item<'missing>> {}
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 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 {}
|
|
| ~~~~~~~~~~~~~
|
|
|
|
error: aborting due to 4 previous errors; 1 warning emitted
|
|
|
|
Some errors have detailed explanations: E0195, E0277, E0582.
|
|
For more information about an error, try `rustc --explain E0195`.
|