add test
This commit is contained in:
parent
77dfd71b95
commit
26ca5fb06f
16
src/test/ui/borrowck/issue-82032.rs
Normal file
16
src/test/ui/borrowck/issue-82032.rs
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
use std::{fs, io::*};
|
||||||
|
use std::collections::HashMap;
|
||||||
|
|
||||||
|
type Handle = BufWriter<fs::File>;
|
||||||
|
struct Thing(HashMap<String, Handle>);
|
||||||
|
|
||||||
|
impl Thing {
|
||||||
|
pub fn die_horribly(&mut self) {
|
||||||
|
for v in self.0.values() {
|
||||||
|
v.flush();
|
||||||
|
//~^ ERROR cannot borrow
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fn main() {}
|
14
src/test/ui/borrowck/issue-82032.stderr
Normal file
14
src/test/ui/borrowck/issue-82032.stderr
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
error[E0596]: cannot borrow `*v` as mutable, as it is behind a `&` reference
|
||||||
|
--> $DIR/issue-82032.rs:10:13
|
||||||
|
|
|
||||||
|
LL | for v in self.0.values() {
|
||||||
|
| ---------------
|
||||||
|
| | |
|
||||||
|
| | help: use mutable method: `values_mut()`
|
||||||
|
| this iterator yields `&` references
|
||||||
|
LL | v.flush();
|
||||||
|
| ^ `v` 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