Auto merge of #54343 - blitzerr:master, r=nikomatsakis
First shot at #54015 Closes #54015
This commit is contained in:
commit
2bd5993ca2
20 changed files with 345 additions and 249 deletions
|
|
@ -5,7 +5,7 @@ LL | for &x in &vector {
|
|||
| -------
|
||||
| |
|
||||
| immutable borrow occurs here
|
||||
| borrow used here in later iteration of loop
|
||||
| borrow used here, in later iteration of loop
|
||||
LL | let cap = vector.capacity();
|
||||
LL | vector.extend(repeat(0)); //~ ERROR cannot borrow
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here
|
||||
|
|
@ -17,7 +17,7 @@ LL | for &x in &vector {
|
|||
| -------
|
||||
| |
|
||||
| immutable borrow occurs here
|
||||
| borrow used here in later iteration of loop
|
||||
| borrow used here, in later iteration of loop
|
||||
...
|
||||
LL | vector[1] = 5; //~ ERROR cannot borrow
|
||||
| ^^^^^^ mutable borrow occurs here
|
||||
|
|
|
|||
|
|
@ -8,13 +8,13 @@ LL | borrow(&*v); //~ ERROR cannot borrow
|
|||
| ^^^ immutable borrow occurs here
|
||||
LL | }
|
||||
LL | *x = box 5;
|
||||
| -- borrow used here in later iteration of loop
|
||||
| -- borrow used here, in later iteration of loop
|
||||
|
||||
error[E0502]: cannot borrow `*v` as immutable because it is also borrowed as mutable
|
||||
--> $DIR/borrowck-lend-flow-loop.rs:109:16
|
||||
|
|
||||
LL | **x += 1;
|
||||
| -------- borrow used here in later iteration of loop
|
||||
| -------- borrow used here, in later iteration of loop
|
||||
LL | borrow(&*v); //~ ERROR cannot borrow
|
||||
| ^^^ immutable borrow occurs here
|
||||
LL | if cond2 {
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ error[E0499]: cannot borrow `x` as mutable more than once at a time
|
|||
LL | 1 => { addr.push(&mut x); } //[ast]~ ERROR [E0499]
|
||||
| ---- ^^^^^^ second mutable borrow occurs here
|
||||
| |
|
||||
| borrow used here in later iteration of loop
|
||||
| borrow used here, in later iteration of loop
|
||||
...
|
||||
LL | _ => { addr.push(&mut x); } //[ast]~ ERROR [E0499]
|
||||
| ------ first mutable borrow occurs here
|
||||
|
|
@ -13,7 +13,7 @@ error[E0499]: cannot borrow `x` as mutable more than once at a time
|
|||
--> $DIR/borrowck-mut-borrow-linear-errors.rs:25:30
|
||||
|
|
||||
LL | 1 => { addr.push(&mut x); } //[ast]~ ERROR [E0499]
|
||||
| ---- borrow used here in later iteration of loop
|
||||
| ---- borrow used here, in later iteration of loop
|
||||
LL | //[mir]~^ ERROR [E0499]
|
||||
LL | 2 => { addr.push(&mut x); } //[ast]~ ERROR [E0499]
|
||||
| ^^^^^^ second mutable borrow occurs here
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ error[E0499]: cannot borrow `x` as mutable more than once at a time
|
|||
LL | 1 => { addr.push(&mut x); } //[ast]~ ERROR [E0499]
|
||||
| ---- ^^^^^^ second mutable borrow occurs here
|
||||
| |
|
||||
| borrow used here in later iteration of loop
|
||||
| borrow used here, in later iteration of loop
|
||||
...
|
||||
LL | _ => { addr.push(&mut x); } //[ast]~ ERROR [E0499]
|
||||
| ------ first mutable borrow occurs here
|
||||
|
|
@ -13,7 +13,7 @@ error[E0499]: cannot borrow `x` as mutable more than once at a time
|
|||
--> $DIR/borrowck-mut-borrow-linear-errors.rs:25:30
|
||||
|
|
||||
LL | 1 => { addr.push(&mut x); } //[ast]~ ERROR [E0499]
|
||||
| ---- borrow used here in later iteration of loop
|
||||
| ---- borrow used here, in later iteration of loop
|
||||
LL | //[mir]~^ ERROR [E0499]
|
||||
LL | 2 => { addr.push(&mut x); } //[ast]~ ERROR [E0499]
|
||||
| ^^^^^^ second mutable borrow occurs here
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ error[E0382]: use of moved value (Mir)
|
|||
--> $DIR/issue-41962.rs:17:21
|
||||
|
|
||||
LL | if let Some(thing) = maybe {
|
||||
| ^^^^^ value moved here in previous iteration of loop
|
||||
| ^^^^^ value moved here, in previous iteration of loop
|
||||
|
|
||||
= note: move occurs because value has type `std::vec::Vec<bool>`, which does not implement the `Copy` trait
|
||||
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ LL | let inner_second = &mut inner_void; //~ ERROR cannot borrow
|
|||
| ^^^^^^^^^^^^^^^ second mutable borrow occurs here
|
||||
LL | inner_second.use_mut();
|
||||
LL | inner_first.use_mut();
|
||||
| ----------- borrow used here in later iteration of loop
|
||||
| ----------- borrow used here, in later iteration of loop
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue