【发布时间】:2018-11-04 03:33:47
【问题描述】:
我正在尝试在 Rust 中做一些记忆,但我正在与借用检查器发生冲突。
fn calc_deps(cache: &mut HashMap<String, String>, key: &String) -> String {
if let Some(v) = cache.get(key) {
v
} else {
let r = /* computations */
cache.insert(key.clone(),r.clone());
r
}
}
有人告诉我缓存被借了两次。如果我在插入时完成了 get 为什么会出现问题?有没有办法让我对这些信息进行编码?
【问题讨论】:
-
如果我 make edits to your code so that I get the borrowing error,它会在每晚使用
#![feature(nll)]编译。见What are non-lexical lifetimes?
标签: rust borrow-checker