diff options
Diffstat (limited to 'tests/ui/borrowck/index-mut-help.stderr')
-rw-r--r-- | tests/ui/borrowck/index-mut-help.stderr | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/tests/ui/borrowck/index-mut-help.stderr b/tests/ui/borrowck/index-mut-help.stderr new file mode 100644 index 000000000..f42d7e015 --- /dev/null +++ b/tests/ui/borrowck/index-mut-help.stderr @@ -0,0 +1,41 @@ +error[E0596]: cannot borrow data in an index of `HashMap<&str, String>` as mutable + --> $DIR/index-mut-help.rs:10:5 + | +LL | map["peter"].clear(); + | ^^^^^^^^^^^^^^^^^^^^ cannot borrow as mutable + | + = help: trait `IndexMut` is required to modify indexed content, but it is not implemented for `HashMap<&str, String>` +help: to modify a `HashMap<&str, String>` use `.get_mut()` + | +LL | map.get_mut("peter").map(|val| val.clear()); + | ~~~~~~~~~ ~~~~~~~~~~~~~~~ + + +error[E0594]: cannot assign to data in an index of `HashMap<&str, String>` + --> $DIR/index-mut-help.rs:11:5 + | +LL | map["peter"] = "0".to_string(); + | ^^^^^^^^^^^^ cannot assign + | + = help: trait `IndexMut` is required to modify indexed content, but it is not implemented for `HashMap<&str, String>` +help: to modify a `HashMap<&str, String>`, use `.get_mut()`, `.insert()` or the entry API + | +LL | map.insert("peter", "0".to_string()); + | ~~~~~~~~ ~ + +LL | map.get_mut("peter").map(|val| { *val = "0".to_string(); }); + | ~~~~~~~~~ ~~~~~~~~~~~~~~~~~~ ++++ +LL | let val = map.entry("peter").or_insert("0".to_string()); + | +++++++++ ~~~~~~~ ~~~~~~~~~~~~ + + +error[E0596]: cannot borrow data in an index of `HashMap<&str, String>` as mutable + --> $DIR/index-mut-help.rs:12:13 + | +LL | let _ = &mut map["peter"]; + | ^^^^^^^^^^^^^^^^^ cannot borrow as mutable + | + = help: trait `IndexMut` is required to modify indexed content, but it is not implemented for `HashMap<&str, String>` + = help: to modify a `HashMap<&str, String>`, use `.get_mut()`, `.insert()` or the entry API + +error: aborting due to 3 previous errors + +Some errors have detailed explanations: E0594, E0596. +For more information about an error, try `rustc --explain E0594`. |