summaryrefslogtreecommitdiffstats
path: root/src/test/ui/lifetimes/issue-90170-elision-mismatch.stderr
blob: 48fb3fb4a2293dc3fad82b9d52d826788bc9cfac (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
error: lifetime may not live long enough
  --> $DIR/issue-90170-elision-mismatch.rs:3:40
   |
LL | pub fn foo(x: &mut Vec<&u8>, y: &u8) { x.push(y); }
   |                        -        -      ^^^^^^^^^ argument requires that `'1` must outlive `'2`
   |                        |        |
   |                        |        let's call the lifetime of this reference `'1`
   |                        let's call the lifetime of this reference `'2`
   |
help: consider introducing a named lifetime parameter
   |
LL | pub fn foo<'a>(x: &mut Vec<&'a u8>, y: &'a u8) { x.push(y); }
   |           ++++              ++          ++

error: lifetime may not live long enough
  --> $DIR/issue-90170-elision-mismatch.rs:5:44
   |
LL | pub fn foo2(x: &mut Vec<&'_ u8>, y: &u8) { x.push(y); }
   |                         -           -      ^^^^^^^^^ argument requires that `'1` must outlive `'2`
   |                         |           |
   |                         |           let's call the lifetime of this reference `'1`
   |                         let's call the lifetime of this reference `'2`
   |
help: consider introducing a named lifetime parameter
   |
LL | pub fn foo2<'a>(x: &mut Vec<&'a u8>, y: &'a u8) { x.push(y); }
   |            ++++              ~~          ++

error: lifetime may not live long enough
  --> $DIR/issue-90170-elision-mismatch.rs:7:63
   |
LL | pub fn foo3<'a>(_other: &'a [u8], x: &mut Vec<&u8>, y: &u8) { x.push(y); }
   |                                               -        -      ^^^^^^^^^ argument requires that `'1` must outlive `'2`
   |                                               |        |
   |                                               |        let's call the lifetime of this reference `'1`
   |                                               let's call the lifetime of this reference `'2`
   |
help: consider introducing a named lifetime parameter
   |
LL | pub fn foo3<'a>(_other: &'a [u8], x: &mut Vec<&'a u8>, y: &'a u8) { x.push(y); }
   |                                                ++          ++

error: aborting due to 3 previous errors