blob: a26c617dc931d1be3a4e49bb2e02008af7c64a62 (
plain)
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
|