我正在尝试调用保存在结构中的闭包,但我也想将结构作为参数传递给闭包.这是特定的代码段.
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 ×1