]> git.proxmox.com Git - rustc.git/blob - src/test/ui/borrowck/borrowck-closures-two-mut.stderr
New upstream version 1.54.0+dfsg1
[rustc.git] / src / test / ui / borrowck / borrowck-closures-two-mut.stderr
1 error[E0499]: cannot borrow `x` as mutable more than once at a time
2 --> $DIR/borrowck-closures-two-mut.rs:12: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 | drop((c1, c2));
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.rs:23: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 | drop((c1, c2));
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.rs:30: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 | drop((c1, c2));
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.rs:37: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 | drop((c1, c2));
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.rs:49: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 | drop((c1, c2));
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`.