summaryrefslogtreecommitdiffstats
path: root/src/test/ui/traits/trait-upcasting/type-checking-test-4.stderr
blob: 436129d0bee52d5e5ddedd4b75d212350196761d (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
44
45
46
47
48
49
50
51
52
error: lifetime may not live long enough
  --> $DIR/type-checking-test-4.rs:16:13
   |
LL | fn test_wrong1<'a>(x: &dyn Foo<'static>, y: &'a u32) {
   |                -- lifetime `'a` defined here
LL |     let _ = x as &dyn Bar<'static, 'a>; // Error
   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^ type annotation requires that `'a` must outlive `'static`

error: lifetime may not live long enough
  --> $DIR/type-checking-test-4.rs:21:13
   |
LL | fn test_wrong2<'a>(x: &dyn Foo<'static>, y: &'a u32) {
   |                -- lifetime `'a` defined here
LL |     let _ = x as &dyn Bar<'a, 'static>; // Error
   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^ type annotation requires that `'a` must outlive `'static`

error: lifetime may not live long enough
  --> $DIR/type-checking-test-4.rs:27:5
   |
LL | fn test_wrong3<'a>(x: &dyn Foo<'a>) -> Option<&'static u32> {
   |                -- lifetime `'a` defined here
LL |     let y = x as &dyn Bar<'_, '_>;
LL |     y.get_b() // ERROR
   |     ^^^^^^^^^ returning this value requires that `'a` must outlive `'static`

error: lifetime may not live long enough
  --> $DIR/type-checking-test-4.rs:32:5
   |
LL | fn test_wrong4<'a>(x: &dyn Foo<'a>) -> Option<&'static u32> {
   |                -- lifetime `'a` defined here
LL |     <_ as Bar>::get_b(x) // ERROR
   |     ^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'a` must outlive `'static`

error: lifetime may not live long enough
  --> $DIR/type-checking-test-4.rs:37:5
   |
LL | fn test_wrong5<'a>(x: &dyn Foo<'a>) -> Option<&'static u32> {
   |                -- lifetime `'a` defined here
LL |     <_ as Bar<'_, '_>>::get_b(x) // ERROR
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'a` must outlive `'static`

error: lifetime may not live long enough
  --> $DIR/type-checking-test-4.rs:45:5
   |
LL | fn test_wrong6<'a>(x: &dyn Foo<'a>) -> Option<&'static u32> {
   |                -- lifetime `'a` defined here
...
LL |     z.get_b() // ERROR
   |     ^^^^^^^^^ returning this value requires that `'a` must outlive `'static`

error: aborting due to 6 previous errors