mirror of
https://github.com/rust-lang/rust.git
synced 2025-10-03 02:40:40 +00:00
64 lines
2.4 KiB
Plaintext
64 lines
2.4 KiB
Plaintext
error[E0195]: lifetime parameters or bounds on method `foo` do not match the trait declaration
|
|
--> $DIR/impl-missing-where-clause-lifetimes-from-trait.rs:6:11
|
|
|
|
|
LL | fn foo<'a, K>(self, _: T, _: K) where T: 'a, K: 'a;
|
|
| ------- -- -- this bound might be missing in the impl
|
|
| | |
|
|
| | this bound might be missing in the impl
|
|
| lifetimes in impl do not match this method in trait
|
|
...
|
|
LL | fn foo<'a, K>(self, _: (), _: K) where {
|
|
| ^^^^^^^ lifetimes do not match method in trait
|
|
|
|
error[E0195]: lifetime parameters do not match the trait definition
|
|
--> $DIR/impl-missing-where-clause-lifetimes-from-trait.rs:23:12
|
|
|
|
|
LL | fn foo<'a>(&self, state: &'a State) -> &'a T {
|
|
| ^^
|
|
|
|
|
= note: lifetime parameters differ in whether they are early- or late-bound
|
|
note: `'a` differs between the trait and impl
|
|
--> $DIR/impl-missing-where-clause-lifetimes-from-trait.rs:14:12
|
|
|
|
|
LL | trait Foo<T> {
|
|
| ------------ in this trait...
|
|
LL | fn foo<'a>(&self, state: &'a State) -> &'a T
|
|
| ^^ `'a` is early-bound
|
|
LL | where
|
|
LL | T: 'a;
|
|
| -- this lifetime bound makes `'a` early-bound
|
|
...
|
|
LL | / impl<F, T> Foo<T> for F
|
|
LL | | where
|
|
LL | | F: Fn(&State) -> &T,
|
|
| |________________________- in this impl...
|
|
LL | {
|
|
LL | fn foo<'a>(&self, state: &'a State) -> &'a T {
|
|
| ^^ `'a` is late-bound
|
|
|
|
error[E0195]: lifetime parameters do not match the trait definition
|
|
--> $DIR/impl-missing-where-clause-lifetimes-from-trait.rs:33:12
|
|
|
|
|
LL | fn foo<'a: 'a>(&'a self) {}
|
|
| ^^
|
|
|
|
|
= note: lifetime parameters differ in whether they are early- or late-bound
|
|
note: `'a` differs between the trait and impl
|
|
--> $DIR/impl-missing-where-clause-lifetimes-from-trait.rs:29:12
|
|
|
|
|
LL | trait Bar {
|
|
| --------- in this trait...
|
|
LL | fn foo<'a>(&'a self) {}
|
|
| ^^ `'a` is late-bound
|
|
...
|
|
LL | impl Bar for () {
|
|
| --------------- in this impl...
|
|
LL | fn foo<'a: 'a>(&'a self) {}
|
|
| ^^ -- this lifetime bound makes `'a` early-bound
|
|
| |
|
|
| `'a` is early-bound
|
|
|
|
error: aborting due to 3 previous errors
|
|
|
|
For more information about this error, try `rustc --explain E0195`.
|