]> git.lizzy.rs Git - rust.git/blob - tests/ui/higher-rank-trait-bounds/hrtb-just-for-static.stderr
Rollup merge of #106797 - FawazTirmizi:dev/issues/104284, r=bjorn3
[rust.git] / tests / ui / higher-rank-trait-bounds / hrtb-just-for-static.stderr
1 error: implementation of `Foo` is not general enough
2   --> $DIR/hrtb-just-for-static.rs:24:5
3    |
4 LL |     want_hrtb::<StaticInt>()
5    |     ^^^^^^^^^^^^^^^^^^^^^^ implementation of `Foo` is not general enough
6    |
7    = note: `StaticInt` must implement `Foo<&'0 isize>`, for any lifetime `'0`...
8    = note: ...but it actually implements `Foo<&'static isize>`
9
10 error: lifetime may not live long enough
11   --> $DIR/hrtb-just-for-static.rs:30:5
12    |
13 LL | fn give_some<'a>() {
14    |              -- lifetime `'a` defined here
15 LL |     want_hrtb::<&'a u32>()
16    |     ^^^^^^^^^^^^^^^^^^^^ requires that `'a` must outlive `'static`
17    |
18 note: due to current limitations in the borrow checker, this implies a `'static` lifetime
19   --> $DIR/hrtb-just-for-static.rs:9:15
20    |
21 LL |     where T : for<'a> Foo<&'a isize>
22    |               ^^^^^^^^^^^^^^^^^^^^^^
23
24 error: implementation of `Foo` is not general enough
25   --> $DIR/hrtb-just-for-static.rs:30:5
26    |
27 LL |     want_hrtb::<&'a u32>()
28    |     ^^^^^^^^^^^^^^^^^^^^ implementation of `Foo` is not general enough
29    |
30    = note: `Foo<&'0 isize>` would have to be implemented for the type `&u32`, for any lifetime `'0`...
31    = note: ...but `Foo<&'1 isize>` is actually implemented for the type `&'1 u32`, for some specific lifetime `'1`
32
33 error: aborting due to 3 previous errors
34