【发布时间】:2018-03-28 16:50:26
【问题描述】:
我想在map中插入或更新一个值,然后获取key的个数。
use std::collections::HashMap;
fn main() {
let mut map = HashMap::new();
let count = map.entry("Tom").or_insert(0);
*count += 1;
let size = map.keys().len();
println!("{} men found", size);
}
编译器错误:
error[E0502]: cannot borrow `map` as immutable because it is also borrowed as mutable
--> src/main.rs:8:16
|
5 | let count = map.entry("Tom").or_insert(0);
| --- mutable borrow occurs here
...
8 | let size = map.keys().len();
| ^^^ immutable borrow occurs here
9 | println!("{} men found", size);
10 | }
| - mutable borrow ends here
有没有办法解决这个问题?是不是我写错了?
【问题讨论】:
标签: rust borrow-checker