Add test demonstrating no more ICE

This commit is contained in:
Michael Goulet 2021-11-25 16:33:01 +00:00
parent 718a3b1f2d
commit 69d1917672
2 changed files with 27 additions and 0 deletions

View 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]
}

View 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`.