Retour à la leçonMission
Mission : une chaine d'iterateurs qui n'affiche jamais rien
Diagnostiquer une chaine d'iterateurs paresseuse jamais consommee et une closure qui ne peut pas capturer par move, puis les corriger.
Contexte
Un dev a ecrit ce code pour filtrer et logger les commandes superieures a 100 euros, mais rien ne s'affiche jamais a l'ecran, sans la moindre erreur de compilation :
rust
fn main() {
let montants = vec![50, 120, 30, 200, 80];
montants.iter().filter(|&&m| m > 100).map(|&m| println!("grosse commande: {}", m));
}Separement, un autre dev veut envoyer une closure a un thread (sujet de la prochaine lecon) mais obtient une erreur de lifetime sur la variable capturee, qu'il ne comprend pas encore.