小编Rip*_*ide的帖子

将 RefMut 转换为 &mut

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

3
推荐指数
1
解决办法
2628
查看次数

标签 统计

rust ×1