【发布时间】:2014-01-16 20:47:26
【问题描述】:
为什么 HashMap.find_or_insert(k,v) 返回一个 &mut 类型,它如何让它返回一个type?
我刚开始在课程中使用 Rust,我正在使用 HashMap<int, int> 并希望获得 int 回复。
let mut m: HashMap<int, int> = HashMap::new();
println!("{:d}", m.find_or_insert(1,2));
给我一个错误,说它failed to find an implementation of trait std::fnt::Signed for &mut int。
编辑1:
我在 Windows 8.1 上使用 Rust 0.9,使用 msys。
到目前为止我的代码
use std::hashmap::HashMap;
fn main() {
let mut m: HashMap<int, int> = HashMap::new();
println!("{:d}", *m.find_or_insert(1,2))
}
我再次尝试了这段代码,它正确返回2
【问题讨论】:
-
find_or_insert 在 rust 中不再是 HashMap 的方法了。