summaryrefslogtreecommitdiffstats
path: root/src/test/ui/higher-rank-trait-bounds/hrtb-just-for-static.stderr
blob: 31e11e12835166a4aca0c219a9cfd58ecc0f3b0b (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
error: implementation of `Foo` is not general enough
  --> $DIR/hrtb-just-for-static.rs:24:5
   |
LL |     want_hrtb::<StaticInt>()
   |     ^^^^^^^^^^^^^^^^^^^^^^ implementation of `Foo` is not general enough
   |
   = note: `StaticInt` must implement `Foo<&'0 isize>`, for any lifetime `'0`...
   = note: ...but it actually implements `Foo<&'static isize>`

error: lifetime may not live long enough
  --> $DIR/hrtb-just-for-static.rs:30:5
   |
LL | fn give_some<'a>() {
   |              -- lifetime `'a` defined here
LL |     want_hrtb::<&'a u32>()
   |     ^^^^^^^^^^^^^^^^^^^^ requires that `'a` must outlive `'static`
   |
note: due to current limitations in the borrow checker, this implies a `'static` lifetime
  --> $DIR/hrtb-just-for-static.rs:9:15
   |
LL |     where T : for<'a> Foo<&'a isize>
   |               ^^^^^^^^^^^^^^^^^^^^^^

error: implementation of `Foo` is not general enough
  --> $DIR/hrtb-just-for-static.rs:30:5
   |
LL |     want_hrtb::<&'a u32>()
   |     ^^^^^^^^^^^^^^^^^^^^ implementation of `Foo` is not general enough
   |
   = note: `Foo<&'0 isize>` would have to be implemented for the type `&u32`, for any lifetime `'0`...
   = note: ...but `Foo<&'1 isize>` is actually implemented for the type `&'1 u32`, for some specific lifetime `'1`

error: aborting due to 3 previous errors