File tree 2 files changed +30
-0
lines changed
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