Wie konvertiert man Option in Result in Rust ohne Verwendung von Makros?
Hallo zusammen. Ich lerne Rust und bin auf ein Problem bei der Konvertierung von `Option` in `Result` gestoßen. Oft habe ich in meinem Code die Situation, dass ich ein `Option` von einer Funktion erhalte (z.B. von einem Iterator oder einer Hash-Map), aber ich muss ein `Result` zurückgeben, um das Fehlen eines Werts als Fehler zu behandeln.
Bisher mache ich das mit match oder if let, aber das sieht umständlich aus. Zum Beispiel:
```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()),
}
}
```
Ich weiß, dass man ein Makro schreiben kann, aber mich interessiert: Gibt es eine eingebaute Möglichkeit, dies ohne Schreiben eines eigenen Makros zu tun? Gibt es etwas in der Standardbibliothek?