1- error[E0499]: cannot borrow `x` as mutable more than once at a time (Ast)
2- --> $DIR/borrowck-closures-two-mut.rs:14:24
3- |
4- LL | let c1 = to_fn_mut(|| x = 4);
5- | -- - previous 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- | ^^ - borrow occurs due to use of `x` in closure
10- | |
11- | second mutable borrow occurs here
12- ...
13- LL | }
14- | - first borrow ends here
15-
16- error[E0499]: cannot borrow `x` as mutable more than once at a time (Ast)
17- --> $DIR/borrowck-closures-two-mut.rs:26:24
18- |
19- LL | let c1 = to_fn_mut(|| set(&mut x));
20- | -- - previous borrow occurs due to use of `x` in closure
21- | |
22- | first mutable borrow occurs here
23- LL | let c2 = to_fn_mut(|| set(&mut x));
24- | ^^ - borrow occurs due to use of `x` in closure
25- | |
26- | second mutable borrow occurs here
27- ...
28- LL | }
29- | - first borrow ends here
30-
31- error[E0499]: cannot borrow `x` as mutable more than once at a time (Ast)
32- --> $DIR/borrowck-closures-two-mut.rs:34:24
33- |
34- LL | let c1 = to_fn_mut(|| x = 5);
35- | -- - previous borrow occurs due to use of `x` in closure
36- | |
37- | first mutable borrow occurs here
38- LL | let c2 = to_fn_mut(|| set(&mut x));
39- | ^^ - borrow occurs due to use of `x` in closure
40- | |
41- | second mutable borrow occurs here
42- ...
43- LL | }
44- | - first borrow ends here
45-
46- error[E0499]: cannot borrow `x` as mutable more than once at a time (Ast)
47- --> $DIR/borrowck-closures-two-mut.rs:42:24
48- |
49- LL | let c1 = to_fn_mut(|| x = 5);
50- | -- - previous borrow occurs due to use of `x` in closure
51- | |
52- | first mutable borrow occurs here
53- LL | let c2 = to_fn_mut(|| { let _y = to_fn_mut(|| set(&mut x)); }); // (nested closure)
54- | ^^ - borrow occurs due to use of `x` in closure
55- | |
56- | second mutable borrow occurs here
57- ...
58- LL | }
59- | - first borrow ends here
60-
61- error[E0499]: cannot borrow `x` as mutable more than once at a time (Ast)
62- --> $DIR/borrowck-closures-two-mut.rs:55:24
63- |
64- LL | let c1 = to_fn_mut(|| set(&mut *x.f));
65- | -- - previous borrow occurs due to use of `x` in closure
66- | |
67- | first mutable borrow occurs here
68- LL | let c2 = to_fn_mut(|| set(&mut *x.f));
69- | ^^ - borrow occurs due to use of `x` in closure
70- | |
71- | second mutable borrow occurs here
72- ...
73- LL | }
74- | - first borrow ends here
75-
76- error[E0499]: cannot borrow `x` as mutable more than once at a time (Mir)
77- --> $DIR/borrowck-closures-two-mut.rs:14:24
1+ error[E0499]: cannot borrow `x` as mutable more than once at a time
2+ --> $DIR/borrowck-closures-two-mut.rs:12:24
783 |
794LL | let c1 = to_fn_mut(|| x = 4);
805 | -- - first borrow occurs due to use of `x` in closure
@@ -84,12 +9,11 @@ LL | let c2 = to_fn_mut(|| x = 5);
849 | ^^ - second borrow occurs due to use of `x` in closure
8510 | |
8611 | second mutable borrow occurs here
87- LL |
8812LL | drop((c1, c2));
8913 | -- first borrow later used here
9014
91- error[E0499]: cannot borrow `x` as mutable more than once at a time (Mir)
92- --> $DIR/borrowck-closures-two-mut.rs:26 :24
15+ error[E0499]: cannot borrow `x` as mutable more than once at a time
16+ --> $DIR/borrowck-closures-two-mut.rs:23 :24
9317 |
9418LL | let c1 = to_fn_mut(|| set(&mut x));
9519 | -- - first borrow occurs due to use of `x` in closure
@@ -99,12 +23,11 @@ LL | let c2 = to_fn_mut(|| set(&mut x));
9923 | ^^ - second borrow occurs due to use of `x` in closure
10024 | |
10125 | second mutable borrow occurs here
102- LL |
10326LL | drop((c1, c2));
10427 | -- first borrow later used here
10528
106- error[E0499]: cannot borrow `x` as mutable more than once at a time (Mir)
107- --> $DIR/borrowck-closures-two-mut.rs:34 :24
29+ error[E0499]: cannot borrow `x` as mutable more than once at a time
30+ --> $DIR/borrowck-closures-two-mut.rs:30 :24
10831 |
10932LL | let c1 = to_fn_mut(|| x = 5);
11033 | -- - first borrow occurs due to use of `x` in closure
@@ -114,12 +37,11 @@ LL | let c2 = to_fn_mut(|| set(&mut x));
11437 | ^^ - second borrow occurs due to use of `x` in closure
11538 | |
11639 | second mutable borrow occurs here
117- LL |
11840LL | drop((c1, c2));
11941 | -- first borrow later used here
12042
121- error[E0499]: cannot borrow `x` as mutable more than once at a time (Mir)
122- --> $DIR/borrowck-closures-two-mut.rs:42 :24
43+ error[E0499]: cannot borrow `x` as mutable more than once at a time
44+ --> $DIR/borrowck-closures-two-mut.rs:37 :24
12345 |
12446LL | let c1 = to_fn_mut(|| x = 5);
12547 | -- - first borrow occurs due to use of `x` in closure
@@ -129,12 +51,12 @@ LL | let c2 = to_fn_mut(|| { let _y = to_fn_mut(|| set(&mut x)); }); // (nes
12951 | ^^ - second borrow occurs due to use of `x` in closure
13052 | |
13153 | second mutable borrow occurs here
132- ...
54+ LL |
13355LL | drop((c1, c2));
13456 | -- first borrow later used here
13557
136- error[E0499]: cannot borrow `x` as mutable more than once at a time (Mir)
137- --> $DIR/borrowck-closures-two-mut.rs:55 :24
58+ error[E0499]: cannot borrow `x` as mutable more than once at a time
59+ --> $DIR/borrowck-closures-two-mut.rs:49 :24
13860 |
13961LL | let c1 = to_fn_mut(|| set(&mut *x.f));
14062 | -- - first borrow occurs due to use of `x` in closure
@@ -144,10 +66,10 @@ LL | let c2 = to_fn_mut(|| set(&mut *x.f));
14466 | ^^ - second borrow occurs due to use of `x` in closure
14567 | |
14668 | second mutable borrow occurs here
147- ...
69+ LL |
14870LL | drop((c1, c2));
14971 | -- first borrow later used here
15072
151- error: aborting due to 10 previous errors
73+ error: aborting due to 5 previous errors
15274
15375For more information about this error, try `rustc --explain E0499`.
0 commit comments