]> git.lizzy.rs Git - rust.git/blob - tests/ui/borrowck/borrowck-borrow-from-stack-variable.stderr
Rollup merge of #106644 - alexcrichton:update-wasi-toolchain, r=cuviper
[rust.git] / tests / ui / borrowck / borrowck-borrow-from-stack-variable.stderr
1 error[E0499]: cannot borrow `foo.bar1` as mutable more than once at a time
2   --> $DIR/borrowck-borrow-from-stack-variable.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-stack-variable.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-stack-variable.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-stack-variable.rs:61: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-stack-variable.rs:70: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-stack-variable.rs:71: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-stack-variable.rs:78: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-stack-variable.rs:85: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-stack-variable.rs:92: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-stack-variable.rs:99: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-stack-variable.rs:120: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`.