summaryrefslogtreecommitdiffstats
path: root/tests/ui/borrowck/index-mut-help.stderr
blob: f42d7e0155433fbcb61bf3cb8efeacf32d7bd2ea (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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`.