summaryrefslogtreecommitdiffstats
path: root/tests/ui/span/borrowck-let-suggestion-suffixes.stderr
blob: 2dc29a78d204d15a35b4e55818b8e29f76c8e6d3 (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
53
54
55
56
57
58
59
60
61
62
63
error[E0597]: `young[_]` does not live long enough
  --> $DIR/borrowck-let-suggestion-suffixes.rs:12:17
   |
LL |         v2.push(&young[0]);      // statement 4
   |                 ^^^^^^^^^ borrowed value does not live long enough
...
LL |     }
   |     - `young[_]` dropped here while still borrowed
...
LL |     (v1, v2, v3, /* v4 is above. */ v5).use_ref();
   |          -- borrow later used here

error[E0716]: temporary value dropped while borrowed
  --> $DIR/borrowck-let-suggestion-suffixes.rs:19:14
   |
LL |     v3.push(&id('x'));           // statement 6
   |              ^^^^^^^ - temporary value is freed at the end of this statement
   |              |
   |              creates a temporary value which is freed while still in use
...
LL |     (v1, v2, v3, /* v4 is above. */ v5).use_ref();
   |              -- borrow later used here
   |
help: consider using a `let` binding to create a longer lived value
   |
LL ~     let binding = id('x');
LL ~     v3.push(&binding);           // statement 6
   |

error[E0716]: temporary value dropped while borrowed
  --> $DIR/borrowck-let-suggestion-suffixes.rs:29:18
   |
LL |         v4.push(&id('y'));
   |                  ^^^^^^^ - temporary value is freed at the end of this statement
   |                  |
   |                  creates a temporary value which is freed while still in use
...
LL |         v4.use_ref();
   |         ------------ borrow later used here
   |
   = note: consider using a `let` binding to create a longer lived value

error[E0716]: temporary value dropped while borrowed
  --> $DIR/borrowck-let-suggestion-suffixes.rs:40:14
   |
LL |     v5.push(&id('z'));
   |              ^^^^^^^ - temporary value is freed at the end of this statement
   |              |
   |              creates a temporary value which is freed while still in use
...
LL |     (v1, v2, v3, /* v4 is above. */ v5).use_ref();
   |                                     -- borrow later used here
   |
help: consider using a `let` binding to create a longer lived value
   |
LL ~     let binding = id('z');
LL ~     v5.push(&binding);
   |

error: aborting due to 4 previous errors

Some errors have detailed explanations: E0597, E0716.
For more information about an error, try `rustc --explain E0597`.