例如,我有以下结构:
struct MyStruct {
items: RefCell<HashMap<i32, SomeStruct>>,
}
impl MyStruct {
fn new() -> Self {
Self {
items: RefCell::new(HashMap::new()),
}
}
fn get_item(&self, key: &i32) -> Option<&SomeStruct> {
let items = self.items.borrow();
items.get(key)
}
}
由于生命周期不同,该代码将无法编译。因此,我尝试介绍这些生命周期:
fn get_item<'a>(&'a self, key: &i32) -> Option<&'a SomeStruct> {
let items = self.items.borrow();
items.get(key)
}
然而它什么也没解决。
在这种情况下是否可以返回Option<&'a SomeStruct>
或类似的类型?