blob: 669971a4664e7f56b8eafa0a494a377d6b2ab5a0 [file]
//@ run-rustfix
// https://github.com/rust-lang/rust/issues/82081 & https://github.com/rust-lang/rust/issues/49839
use std::collections::HashMap;
struct Test {
v: u32,
}
fn a() {
let mut map = HashMap::new();
map.insert("a", Test { v: 0 });
for (_k, v) in map.iter_mut() {
//~^ HELP use mutable method
//~| NOTE this iterator yields `&` references
v.v += 1;
//~^ ERROR cannot assign to `v.v`
//~| NOTE `v` is a `&` reference
}
}
fn b() {
let mut map = HashMap::new();
map.insert("a", Test { v: 0 });
let x = map.iter_mut();
//~^ HELP use mutable method
for (_k, v) in x {
//~^ NOTE this iterator yields `&` references
v.v += 1;
//~^ ERROR cannot assign to `v.v`
//~| NOTE `v` is a `&` reference
}
}
fn main() {
a();
b();
}