Questo è il mio primo giorno con Rust, ma sto cercando di fare qualcosa di banale, e sono bloccato.Impossibile prendere in prestito la variabile esterna catturata in una chiusura `Fn` come mutabile
Quello che sto cercando di fare è aggiungere una struttura a un vettore e restituire il risultato. Quello che sto cercando è di creare un servizio REST molto semplice che memorizzerà i dati in memoria durante la pubblicazione e restituirà tutti i dati in formato JSON quando si esegue un GET.
Questo è il mio codice corrente:
fn main() {
let mut server = Nickel::new();
let mut reservations = Vec::new();
server.post("/reservations/", middleware! { |request, response|
let reservation = request.json_as::<Reservation>().unwrap();
reservations.push(reservation); // <-- error occurs here
format!("Hello {} {}", reservation.name, reservation.email)
});
server.listen("127.0.0.1:3000");
}
ho cercato this solution con un RefCell, ma poi ho l'errore che il tratto di sincronizzazione non è implementata per Vec<reservation::Reservation>