Add test demonstrating no more ICE
This commit is contained in:
parent
718a3b1f2d
commit
69d1917672
15
src/test/ui/borrowck/issue-91206.rs
Normal file
15
src/test/ui/borrowck/issue-91206.rs
Normal file
@ -0,0 +1,15 @@
|
||||
struct TestClient;
|
||||
|
||||
impl TestClient {
|
||||
fn get_inner_ref(&self) -> &Vec<usize> {
|
||||
todo!()
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let client = TestClient;
|
||||
let inner = client.get_inner_ref();
|
||||
//~^ HELP consider changing this to be a mutable reference
|
||||
inner.clear();
|
||||
//~^ ERROR cannot borrow `*inner` as mutable, as it is behind a `&` reference [E0596]
|
||||
}
|
12
src/test/ui/borrowck/issue-91206.stderr
Normal file
12
src/test/ui/borrowck/issue-91206.stderr
Normal file
@ -0,0 +1,12 @@
|
||||
error[E0596]: cannot borrow `*inner` as mutable, as it is behind a `&` reference
|
||||
--> $DIR/issue-91206.rs:13:5
|
||||
|
|
||||
LL | let inner = client.get_inner_ref();
|
||||
| ----- help: consider changing this to be a mutable reference: `&mut Vec<usize>`
|
||||
LL |
|
||||
LL | inner.clear();
|
||||
| ^^^^^^^^^^^^^ `inner` is a `&` reference, so the data it refers to cannot be borrowed as mutable
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0596`.
|
Loading…
x
Reference in New Issue
Block a user