Sto provando a chiamare la chiusura che è stata salvata all'interno di una struttura ma vorrei anche passare la struct come argomento alla chiusura. Ecco il codice specifico.Impossibile passare l'auto come parametro di callback a causa del doppio prestito
pub fn react(&mut self) -> &mut Button {
if let Some(ref mut c) = self.click_callback {
c(self);
}
self
}
Nota che l'auto è un Button
e self.click_callback
è un Option<Box<Fn(&mut Button)>>
Quindi, da quello che ho capito il "se lasciare che" prende in prestito auto fino a quando i suoi scopi finisce, ma poi quando cerco di trasmettere di sé come un argomento tenta di prenderlo in prestito di nuovo. C'è qualcosa di specifico che posso fare per evitare questo doppio tentativo di prestito?