use std::cell::RefCell;
use std::rc::Weak;
struct Elem {
attached_elem: Weak<RefCell<Elem>>,
value: i32,
}
impl Elem {
fn borrow_mut_attached_elem(&self) -> &mut Elem {
//what should this line be?
self.attached_elem.upgrade().unwrap().borrow_mut()
}
}
fn main(){}
Run Code Online (Sandbox Code Playgroud)
我尝试过一些类似的其他线路,但到目前为止没有任何效果,甚至是 RefMut 的实验性 cell_leak 功能。
我不介意更改函数的签名,我只是想减少从 Elem 获取对 Attached_elem 的可变引用的开销。
rust ×1