]> git.lizzy.rs Git - rust.git/blob - tests/ui/borrowck/borrowck-borrow-from-owned-ptr.stderr
implement Hash for proc_macro::LineColumn
[rust.git] / tests / ui / borrowck / borrowck-borrow-from-owned-ptr.stderr
1 error[E0499]: cannot borrow `foo.bar1` as mutable more than once at a time
2   --> $DIR/borrowck-borrow-from-owned-ptr.rs:18:17
3    |
4 LL |     let bar1 = &mut foo.bar1;
5    |                ------------- first mutable borrow occurs here
6 LL |     let _bar2 = &mut foo.bar1;
7    |                 ^^^^^^^^^^^^^ second mutable borrow occurs here
8 LL |     *bar1;
9    |     ----- first borrow later used here
10
11 error[E0502]: cannot borrow `foo.bar1` as immutable because it is also borrowed as mutable
12   --> $DIR/borrowck-borrow-from-owned-ptr.rs:25:17
13    |
14 LL |     let bar1 = &mut foo.bar1;
15    |                ------------- mutable borrow occurs here
16 LL |     let _bar2 = &foo.bar1;
17    |                 ^^^^^^^^^ immutable borrow occurs here
18 LL |     *bar1;
19    |     ----- mutable borrow later used here
20
21 error[E0502]: cannot borrow `foo.bar1` as mutable because it is also borrowed as immutable
22   --> $DIR/borrowck-borrow-from-owned-ptr.rs:32:17
23    |
24 LL |     let bar1 = &foo.bar1;
25    |                --------- immutable borrow occurs here
26 LL |     let _bar2 = &mut foo.bar1;
27    |                 ^^^^^^^^^^^^^ mutable borrow occurs here
28 LL |     *bar1;
29    |     ----- immutable borrow later used here
30
31 error[E0499]: cannot borrow `foo.bar1` as mutable more than once at a time
32   --> $DIR/borrowck-borrow-from-owned-ptr.rs:64:21
33    |
34 LL |     let bar1 = &mut foo.bar1;
35    |                ------------- first mutable borrow occurs here
36 LL |     match *foo {
37 LL |         Foo { bar1: ref mut _bar1, bar2: _ } => {}
38    |                     ^^^^^^^^^^^^^ second mutable borrow occurs here
39 ...
40 LL |     *bar1;
41    |     ----- first borrow later used here
42
43 error[E0502]: cannot borrow `foo.bar1` as immutable because it is also borrowed as mutable
44   --> $DIR/borrowck-borrow-from-owned-ptr.rs:73:17
45    |
46 LL |     let bar1 = &mut foo.bar1.int1;
47    |                ------------------ mutable borrow occurs here
48 LL |     let _foo1 = &foo.bar1;
49    |                 ^^^^^^^^^ immutable borrow occurs here
50 LL |     let _foo2 = &*foo;
51 LL |     *bar1;
52    |     ----- mutable borrow later used here
53
54 error[E0502]: cannot borrow `*foo` as immutable because it is also borrowed as mutable
55   --> $DIR/borrowck-borrow-from-owned-ptr.rs:74:17
56    |
57 LL |     let bar1 = &mut foo.bar1.int1;
58    |                ------------------ mutable borrow occurs here
59 LL |     let _foo1 = &foo.bar1;
60 LL |     let _foo2 = &*foo;
61    |                 ^^^^^ immutable borrow occurs here
62 LL |     *bar1;
63    |     ----- mutable borrow later used here
64
65 error[E0499]: cannot borrow `foo.bar1` as mutable more than once at a time
66   --> $DIR/borrowck-borrow-from-owned-ptr.rs:81:17
67    |
68 LL |     let bar1 = &mut foo.bar1.int1;
69    |                ------------------ first mutable borrow occurs here
70 LL |     let _foo1 = &mut foo.bar1;
71    |                 ^^^^^^^^^^^^^ second mutable borrow occurs here
72 LL |     *bar1;
73    |     ----- first borrow later used here
74
75 error[E0499]: cannot borrow `*foo` as mutable more than once at a time
76   --> $DIR/borrowck-borrow-from-owned-ptr.rs:88:17
77    |
78 LL |     let bar1 = &mut foo.bar1.int1;
79    |                ------------------ first mutable borrow occurs here
80 LL |     let _foo2 = &mut *foo;
81    |                 ^^^^^^^^^ second mutable borrow occurs here
82 LL |     *bar1;
83    |     ----- first borrow later used here
84
85 error[E0502]: cannot borrow `foo.bar1` as mutable because it is also borrowed as immutable
86   --> $DIR/borrowck-borrow-from-owned-ptr.rs:95:17
87    |
88 LL |     let bar1 = &foo.bar1.int1;
89    |                -------------- immutable borrow occurs here
90 LL |     let _foo1 = &mut foo.bar1;
91    |                 ^^^^^^^^^^^^^ mutable borrow occurs here
92 LL |     *bar1;
93    |     ----- immutable borrow later used here
94
95 error[E0502]: cannot borrow `*foo` as mutable because it is also borrowed as immutable
96   --> $DIR/borrowck-borrow-from-owned-ptr.rs:102:17
97    |
98 LL |     let bar1 = &foo.bar1.int1;
99    |                -------------- immutable borrow occurs here
100 LL |     let _foo2 = &mut *foo;
101    |                 ^^^^^^^^^ mutable borrow occurs here
102 LL |     *bar1;
103    |     ----- immutable borrow later used here
104
105 error[E0596]: cannot borrow `foo.bar1` as mutable, as `foo` is not declared as mutable
106   --> $DIR/borrowck-borrow-from-owned-ptr.rs:122:16
107    |
108 LL |     let bar1 = &mut foo.bar1;
109    |                ^^^^^^^^^^^^^ cannot borrow as mutable
110    |
111 help: consider changing this to be mutable
112    |
113 LL |     let mut foo = make_foo();
114    |         +++
115
116 error: aborting due to 11 previous errors
117
118 Some errors have detailed explanations: E0499, E0502, E0596.
119 For more information about an error, try `rustc --explain E0499`.