我正在尝试访问静态哈希图以进行读取和写入,但我总是遇到错误:
use std::collections::HashMap;
use std::sync::Mutex;
pub struct ModuleItem {
pub absolute_path: String,
}
lazy_static! {
static ref MODULE_MAP: Mutex<HashMap<i32, ModuleItem>> = Mutex::new(HashMap::new());
}
pub fn insert(identity_hash: i32, module_item: ModuleItem) {
MODULE_MAP
.lock()
.unwrap()
.insert(identity_hash, module_item);
}
pub fn get(identity_hash: i32) -> Option<&'static ModuleItem> {
MODULE_MAP.lock().unwrap().get(&identity_hash).clone()
}
但是我在 get 函数上遇到错误cannot return value referencing temporary value
我试过了.cloned()
,.clone()
甚至什么都没试过,但我没能让它工作。你能帮助我吗?