]> git.lizzy.rs Git - rust.git/blob - tests/ui/borrowck/borrowck-closures-two-mut-fail.stderr
Rollup merge of #106726 - cmorin6:fix-comment-typos, r=Nilstrieb
[rust.git] / tests / ui / borrowck / borrowck-closures-two-mut-fail.stderr
1 error[E0499]: cannot borrow `x` as mutable more than once at a time
2   --> $DIR/borrowck-closures-two-mut-fail.rs:16:24
3    |
4 LL |     let c1 = to_fn_mut(|| x = 4);
5    |                        -- - first borrow occurs due to use of `x` in closure
6    |                        |
7    |                        first mutable borrow occurs here
8 LL |     let c2 = to_fn_mut(|| x = 5);
9    |                        ^^ - second borrow occurs due to use of `x` in closure
10    |                        |
11    |                        second mutable borrow occurs here
12 LL |     c1;
13    |     -- first borrow later used here
14
15 error[E0499]: cannot borrow `x` as mutable more than once at a time
16   --> $DIR/borrowck-closures-two-mut-fail.rs:27:24
17    |
18 LL |     let c1 = to_fn_mut(|| set(&mut x));
19    |                        --          - first borrow occurs due to use of `x` in closure
20    |                        |
21    |                        first mutable borrow occurs here
22 LL |     let c2 = to_fn_mut(|| set(&mut x));
23    |                        ^^          - second borrow occurs due to use of `x` in closure
24    |                        |
25    |                        second mutable borrow occurs here
26 LL |     c1;
27    |     -- first borrow later used here
28
29 error[E0499]: cannot borrow `x` as mutable more than once at a time
30   --> $DIR/borrowck-closures-two-mut-fail.rs:34:24
31    |
32 LL |     let c1 = to_fn_mut(|| x = 5);
33    |                        -- - first borrow occurs due to use of `x` in closure
34    |                        |
35    |                        first mutable borrow occurs here
36 LL |     let c2 = to_fn_mut(|| set(&mut x));
37    |                        ^^          - second borrow occurs due to use of `x` in closure
38    |                        |
39    |                        second mutable borrow occurs here
40 LL |     c1;
41    |     -- first borrow later used here
42
43 error[E0499]: cannot borrow `x` as mutable more than once at a time
44   --> $DIR/borrowck-closures-two-mut-fail.rs:41:24
45    |
46 LL |     let c1 = to_fn_mut(|| x = 5);
47    |                        -- - first borrow occurs due to use of `x` in closure
48    |                        |
49    |                        first mutable borrow occurs here
50 LL |     let c2 = to_fn_mut(|| { let _y = to_fn_mut(|| set(&mut x)); }); // (nested closure)
51    |                        ^^                                  - second borrow occurs due to use of `x` in closure
52    |                        |
53    |                        second mutable borrow occurs here
54 LL |
55 LL |     c1;
56    |     -- first borrow later used here
57
58 error[E0499]: cannot borrow `x` as mutable more than once at a time
59   --> $DIR/borrowck-closures-two-mut-fail.rs:53:24
60    |
61 LL |     let c1 = to_fn_mut(|| set(&mut *x.f));
62    |                        --          ---- first borrow occurs due to use of `x` in closure
63    |                        |
64    |                        first mutable borrow occurs here
65 LL |     let c2 = to_fn_mut(|| set(&mut *x.f));
66    |                        ^^          ---- second borrow occurs due to use of `x` in closure
67    |                        |
68    |                        second mutable borrow occurs here
69 LL |
70 LL |     c1;
71    |     -- first borrow later used here
72
73 error: aborting due to 5 previous errors
74
75 For more information about this error, try `rustc --explain E0499`.