]> git.proxmox.com Git - rustc.git/blob - src/test/ui/borrowck/borrowck-overloaded-index-autoderef.nll.stderr
New upstream version 1.31.0~beta.4+dfsg1
[rustc.git] / src / test / ui / borrowck / borrowck-overloaded-index-autoderef.nll.stderr
1 error[E0502]: cannot borrow `*f` as immutable because it is also borrowed as mutable
2 --> $DIR/borrowck-overloaded-index-autoderef.rs:47:14
3 |
4 LL | let p = &mut f[&s];
5 | - mutable borrow occurs here
6 LL | let q = &f[&s]; //~ ERROR cannot borrow
7 | ^ immutable borrow occurs here
8 LL | p.use_mut();
9 | - mutable borrow later used here
10
11 error[E0499]: cannot borrow `*f` as mutable more than once at a time
12 --> $DIR/borrowck-overloaded-index-autoderef.rs:53:18
13 |
14 LL | let p = &mut f[&s];
15 | - first mutable borrow occurs here
16 LL | let q = &mut f[&s]; //~ ERROR cannot borrow
17 | ^ second mutable borrow occurs here
18 LL | p.use_mut();
19 | - first borrow later used here
20
21 error[E0499]: cannot borrow `f.foo` as mutable more than once at a time
22 --> $DIR/borrowck-overloaded-index-autoderef.rs:63:18
23 |
24 LL | let p = &mut f.foo[&s];
25 | ----- first mutable borrow occurs here
26 LL | let q = &mut f.foo[&s]; //~ ERROR cannot borrow
27 | ^^^^^ second mutable borrow occurs here
28 LL | p.use_mut();
29 | - first borrow later used here
30
31 error[E0502]: cannot borrow `f.foo` as mutable because it is also borrowed as immutable
32 --> $DIR/borrowck-overloaded-index-autoderef.rs:75:18
33 |
34 LL | let p = &f.foo[&s];
35 | ----- immutable borrow occurs here
36 LL | let q = &mut f.foo[&s]; //~ ERROR cannot borrow
37 | ^^^^^ mutable borrow occurs here
38 LL | p.use_ref();
39 | - immutable borrow later used here
40
41 error[E0506]: cannot assign to `f.foo` because it is borrowed
42 --> $DIR/borrowck-overloaded-index-autoderef.rs:81:5
43 |
44 LL | let p = &f.foo[&s];
45 | ----- borrow of `f.foo` occurs here
46 LL | f.foo = g; //~ ERROR cannot assign
47 | ^^^^^^^^^ assignment to borrowed `f.foo` occurs here
48 LL | p.use_ref();
49 | - borrow later used here
50
51 error[E0506]: cannot assign to `*f` because it is borrowed
52 --> $DIR/borrowck-overloaded-index-autoderef.rs:87:5
53 |
54 LL | let p = &f.foo[&s];
55 | ----- borrow of `*f` occurs here
56 LL | *f = g; //~ ERROR cannot assign
57 | ^^^^^^ assignment to borrowed `*f` occurs here
58 LL | p.use_ref();
59 | - borrow later used here
60
61 error[E0506]: cannot assign to `f.foo` because it is borrowed
62 --> $DIR/borrowck-overloaded-index-autoderef.rs:93:5
63 |
64 LL | let p = &mut f.foo[&s];
65 | ----- borrow of `f.foo` occurs here
66 LL | f.foo = g; //~ ERROR cannot assign
67 | ^^^^^^^^^ assignment to borrowed `f.foo` occurs here
68 LL | p.use_mut();
69 | - borrow later used here
70
71 error[E0506]: cannot assign to `*f` because it is borrowed
72 --> $DIR/borrowck-overloaded-index-autoderef.rs:99:5
73 |
74 LL | let p = &mut f.foo[&s];
75 | ----- borrow of `*f` occurs here
76 LL | *f = g; //~ ERROR cannot assign
77 | ^^^^^^ assignment to borrowed `*f` occurs here
78 LL | p.use_mut();
79 | - borrow later used here
80
81 error: aborting due to 8 previous errors
82
83 Some errors occurred: E0499, E0502, E0506.
84 For more information about an error, try `rustc --explain E0499`.