File tree Expand file tree Collapse file tree 2 files changed +30
-0
lines changed Expand file tree Collapse file tree 2 files changed +30
-0
lines changed Original file line number Diff line number Diff line change 1+ use std:: { fs, io:: * } ;
2+ use std:: collections:: HashMap ;
3+
4+ type Handle = BufWriter < fs:: File > ;
5+ struct Thing ( HashMap < String , Handle > ) ;
6+
7+ impl Thing {
8+ pub fn die_horribly ( & mut self ) {
9+ for v in self . 0 . values ( ) {
10+ v. flush ( ) ;
11+ //~^ ERROR cannot borrow
12+ }
13+ }
14+ }
15+
16+ fn main ( ) { }
Original file line number Diff line number Diff line change 1+ error[E0596]: cannot borrow `*v` as mutable, as it is behind a `&` reference
2+ --> $DIR/issue-82032.rs:10:13
3+ |
4+ LL | for v in self.0.values() {
5+ | ---------------
6+ | | |
7+ | | help: use mutable method: `values_mut()`
8+ | this iterator yields `&` references
9+ LL | v.flush();
10+ | ^ `v` is a `&` reference, so the data it refers to cannot be borrowed as mutable
11+
12+ error: aborting due to previous error
13+
14+ For more information about this error, try `rustc --explain E0596`.
You can’t perform that action at this time.
0 commit comments