]> git.lizzy.rs Git - rust.git/blob - tests/ui/borrowck/borrowck-overloaded-index-autoderef.stderr
Rollup merge of #106726 - cmorin6:fix-comment-typos, r=Nilstrieb
[rust.git] / tests / ui / borrowck / borrowck-overloaded-index-autoderef.stderr
1 error[E0502]: cannot borrow `*f` as immutable because it is also borrowed as mutable
2   --> $DIR/borrowck-overloaded-index-autoderef.rs:37:14
3    |
4 LL |     let p = &mut f[&s];
5    |                  - mutable borrow occurs here
6 LL |     let q = &f[&s];
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:43:18
13    |
14 LL |     let p = &mut f[&s];
15    |                  - first mutable borrow occurs here
16 LL |     let q = &mut f[&s];
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:53:18
23    |
24 LL |     let p = &mut f.foo[&s];
25    |                  ----- first mutable borrow occurs here
26 LL |     let q = &mut f.foo[&s];
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:65:18
33    |
34 LL |     let p = &f.foo[&s];
35    |              ----- immutable borrow occurs here
36 LL |     let q = &mut f.foo[&s];
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:71:5
43    |
44 LL |     let p = &f.foo[&s];
45    |              ----- borrow of `f.foo` occurs here
46 LL |     f.foo = g;
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:77:5
53    |
54 LL |     let p = &f.foo[&s];
55    |              ----- borrow of `*f` occurs here
56 LL |     *f = g;
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:83:5
63    |
64 LL |     let p = &mut f.foo[&s];
65    |                  ----- borrow of `f.foo` occurs here
66 LL |     f.foo = g;
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:89:5
73    |
74 LL |     let p = &mut f.foo[&s];
75    |                  ----- borrow of `*f` occurs here
76 LL |     *f = g;
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 have detailed explanations: E0499, E0502, E0506.
84 For more information about an error, try `rustc --explain E0499`.