To jest mój pierwszy dzień z Rust, ale próbuję zrobić coś trywialnego i utknąłem.Nie mogę pożyczyć przechwyconej zmiennej zewnętrznej w zamknięciu `Fn jako zmiennym
Co próbuję zrobić, to dodać struct do Vector i zwrócić wynik. Próbuję utworzyć bardzo prostą usługę REST, która będzie przechowywać dane w pamięci podczas publikowania i zwracać wszystkie dane w formacie JSON podczas wykonywania polecenia GET.
To jest mój bieżący kod:
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");
}
Próbowałem this solution z RefCell, ale wtedy pojawia się błąd, że cecha Sync nie jest realizowany za Vec<reservation::Reservation>