我想暴露一个具有不可变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 ×1