summary refs log tree commit diff
path: root/src/test/ui/borrowck/borrowck-vec-pattern-nesting.stderr
blob: 6673549e23903e7416f34a81c780bb72919252f8 (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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
error[E0506]: cannot assign to `vec[..]` because it is borrowed
  --> $DIR/borrowck-vec-pattern-nesting.rs:20:13
   |
LL |         [box ref _a, _, _] => {
   |              ------ borrow of `vec[..]` occurs here
LL |         //~^ borrow of `vec[..]` occurs here
LL |             vec[0] = box 4; //~ ERROR cannot assign
   |             ^^^^^^^^^^^^^^ assignment to borrowed `vec[..]` occurs here

error[E0506]: cannot assign to `vec[..]` because it is borrowed
  --> $DIR/borrowck-vec-pattern-nesting.rs:32:13
   |
LL |         &mut [ref _b..] => {
   |               ------ borrow of `vec[..]` occurs here
LL |         //~^ borrow of `vec[..]` occurs here
LL |             vec[0] = box 4; //~ ERROR cannot assign
   |             ^^^^^^^^^^^^^^ assignment to borrowed `vec[..]` occurs here

error[E0508]: cannot move out of type `[std::boxed::Box<isize>]`, a non-copy slice
  --> $DIR/borrowck-vec-pattern-nesting.rs:42:14
   |
LL |           &mut [_a, //~ ERROR cannot move out
   |                ^-- hint: to prevent move, use `ref _a` or `ref mut _a`
   |  ______________|
   | |
LL | |             //~| cannot move out
LL | |             //~| to prevent move
LL | |             ..
LL | |         ] => {
   | |_________^ cannot move out of here

error[E0508]: cannot move out of type `[std::boxed::Box<isize>]`, a non-copy slice
  --> $DIR/borrowck-vec-pattern-nesting.rs:55:13
   |
LL |     let a = vec[0]; //~ ERROR cannot move out
   |             ^^^^^^
   |             |
   |             cannot move out of here
   |             help: consider using a reference instead: `&vec[0]`

error[E0508]: cannot move out of type `[std::boxed::Box<isize>]`, a non-copy slice
  --> $DIR/borrowck-vec-pattern-nesting.rs:63:14
   |
LL |           &mut [ //~ ERROR cannot move out
   |  ______________^
LL | |         //~^ cannot move out
LL | |          _b] => {}
   | |__________--^ cannot move out of here
   |            |
   |            hint: to prevent move, use `ref _b` or `ref mut _b`

error[E0508]: cannot move out of type `[std::boxed::Box<isize>]`, a non-copy slice
  --> $DIR/borrowck-vec-pattern-nesting.rs:68:13
   |
LL |     let a = vec[0]; //~ ERROR cannot move out
   |             ^^^^^^
   |             |
   |             cannot move out of here
   |             help: consider using a reference instead: `&vec[0]`

error[E0508]: cannot move out of type `[std::boxed::Box<isize>]`, a non-copy slice
  --> $DIR/borrowck-vec-pattern-nesting.rs:76:14
   |
LL |         &mut [_a, _b, _c] => {}  //~ ERROR cannot move out
   |              ^--^^--^^--^
   |              ||   |   |
   |              ||   |   ...and here (use `ref _c` or `ref mut _c`)
   |              ||   ...and here (use `ref _b` or `ref mut _b`)
   |              |hint: to prevent move, use `ref _a` or `ref mut _a`
   |              cannot move out of here

error[E0508]: cannot move out of type `[std::boxed::Box<isize>]`, a non-copy slice
  --> $DIR/borrowck-vec-pattern-nesting.rs:80:13
   |
LL |     let a = vec[0]; //~ ERROR cannot move out
   |             ^^^^^^
   |             |
   |             cannot move out of here
   |             help: consider using a reference instead: `&vec[0]`

error: aborting due to 8 previous errors

Some errors occurred: E0506, E0508.
For more information about an error, try `rustc --explain E0506`.