相关疑难解决方法(0)

由于双重借用,无法将self作为回调参数传递

我正在尝试调用保存在结构中的闭包,但我也想将结构作为参数传递给闭包.这是特定的代码段.

pub fn react(&mut self) -> &mut Button {
   if let Some(ref mut c) = self.click_callback {
            c(self);
    }
    self
}
Run Code Online (Sandbox Code Playgroud)

请注意,自我是一个Button而且self.click_callback是一个Option<Box<Fn(&mut Button)>>

所以根据我的理解,"if let"借用自己直到它的范围结束,但是当我试图将自我作为一个论证时,它试图再次借用它.我能做些什么可以避免这种双重借用尝试吗?

rust

7
推荐指数
1
解决办法
238
查看次数

标签 统计

rust ×1