【发布时间】:2019-10-12 05:28:20
【问题描述】:
let mut set = HashSet::<u32>::new();
let a = set.get(&1);
set.remove(&1);
a.unwrap(); // cannot borrow `set` as mutable because it is also borrowed as immutable
这是我的代码。我明白错误的含义以及为什么 rust 会阻止我这样做。
但是我在set.rs 中找不到任何类型注释来导致该错误发生。
pub fn get<Q: ?Sized>(&self, value: &Q) -> Option<&T>
where T: Borrow<Q>,
Q: Hash + Eq
这是set.get 的声明,但我看不到任何相关内容。
【问题讨论】: