about summary refs log tree commit diff
path: root/tests/ui/pattern/deref-patterns/fake_borrows.stderr
blob: 7dc3001739e6720266990fe7d848b05a46fc29c5 (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[E0502]: cannot borrow `v` as mutable because it is also borrowed as immutable
  --> $DIR/fake_borrows.rs:9:16
   |
LL |     match v {
   |           - immutable borrow occurs here
LL |         deref!([true]) => {}
LL |         _ if { v[0] = true; false } => {}
   |                ^                  - immutable borrow later used here
   |                |
   |                mutable borrow occurs here

error[E0502]: cannot borrow `v` as mutable because it is also borrowed as immutable
  --> $DIR/fake_borrows.rs:16:16
   |
LL |     match v {
   |           - immutable borrow occurs here
LL |         [true] => {}
LL |         _ if { v[0] = true; false } => {}
   |                ^                  - immutable borrow later used here
   |                |
   |                mutable borrow occurs here

error[E0510]: cannot assign `*b` in match guard
  --> $DIR/fake_borrows.rs:26:16
   |
LL |     match b {
   |           - value is immutable in match guard
LL |         deref!(true) => {}
LL |         _ if { *b = true; false } => {}
   |                ^^^^^^^^^ cannot assign

error[E0510]: cannot assign `*b` in match guard
  --> $DIR/fake_borrows.rs:33:16
   |
LL |     match b {
   |           - value is immutable in match guard
LL |         true => {}
LL |         _ if { *b = true; false } => {}
   |                ^^^^^^^^^ cannot assign

error: aborting due to 4 previous errors

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