Avatar ·

Comment convertir Option en Result en Rust sans utiliser de macros ?

Bonjour à tous. J'apprends Rust et j'ai rencontré un problème de conversion de `Option` en `Result`. Souvent dans mon code, je me retrouve dans une situation où j'obtiens un `Option` à partir d'une fonction (par exemple, d'un itérateur ou d'une table de hachage), mais j'ai besoin de retourner un `Result` pour traiter l'absence de valeur comme une erreur. Pour l'instant, je fais cela avec match ou if let, mais cela semble lourd. Par exemple : ```rust fn find_user(id: u32) -> Result { let users = get_users(); match users.iter().find(|u| u.id == id) { Some(user) => Ok(user.clone()), None => Err("User not found".to_string()), } } ``` Je sais qu'on peut écrire une macro, mais je me demande : existe-t-il un moyen intégré de le faire sans écrire sa propre macro ? Y a-t-il quelque chose dans la bibliothèque standard ?