1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
error: implementation of `Trait` is not general enough
--> $DIR/issue-59311.rs:17:5
|
LL | / pub fn crash<V>(v: &V)
LL | | where
LL | | for<'a> &'a V: Trait + 'static,
| |____________________-----__________- due to a where-clause on `crash`...
| |
| doesn't satisfy where-clause
LL | {
LL | v.t(|| {});
| ^^^^^^^^^^
|
= note: ...`Trait` would have to be implemented for the type `&'a V`
= note: ...but `Trait` is actually implemented for the type `&'0 V`, for some specific lifetime `'0`
error: implementation of `Trait` is not general enough
--> $DIR/issue-59311.rs:17:5
|
LL | / pub fn crash<V>(v: &V)
LL | | where
LL | | for<'a> &'a V: Trait + 'static,
| |____________________-----__________- due to a where-clause on `crash`...
| |
| doesn't satisfy where-clause
LL | {
LL | v.t(|| {});
| ^^^^^^^^^^
|
= note: ...`Trait` would have to be implemented for the type `&'a V`
= note: ...but `Trait` is actually implemented for the type `&'0 V`, for some specific lifetime `'0`
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
error: higher-ranked lifetime error
--> $DIR/issue-59311.rs:17:9
|
LL | v.t(|| {});
| ^^^^^
|
= note: could not prove `for<'a> &'a V: 'b`
error: aborting due to 3 previous errors
|