Retour à la leçonMission
Mission : reparer une pipeline de traitement de commandes
Diagnostiquer une chaine d'erreurs de move dans un pipeline de fonctions et proposer une correction coherente avec l'ownership.
Contexte
Un dev junior a ecrit ce pipeline de traitement de commandes, qui refuse de compiler avec plusieurs erreurs 'value borrowed after move' en cascade :
rust
fn journaliser(commande: String) {
println!("log: {}", commande);
}
fn facturer(commande: String) -> String {
format!("facture pour {}", commande)
}
fn main() {
let commande = String::from("commande-42");
journaliser(commande);
let facture = facturer(commande);
println!("{}", facture);
}Il te demande de l'aider a comprendre pourquoi, et de proposer la version corrigee la plus idiomatique.