相关疑难解决方法(0)

如何从&self中制作&mut?

我想暴露一个具有不可变self的公共函数,该函数调用具有可变self的私有函数.

struct Foo {
    value: i32,
}

impl Foo {
    fn f1(&self) {
        self.f2(); // <--- is it possible to make self mutable?
    }

    fn f2(&mut self) {
        self.value = 5;
    }
}

fn main() {
    let foo = Foo { value: 0 };
    foo.f1();
}
Run Code Online (Sandbox Code Playgroud)

编译此代码时出现错误

不可借用不可变借的内容*self是可变的

是否有可能让自己变得可变?

rust

2
推荐指数
2
解决办法
465
查看次数

标签 统计

rust ×1