Ich lerne Rust jetzt schon seit einigen Wochen und versuche meine Hand beim Fizzbuzz-Problem. Code: fn fizzbuzz<'a>(n: usize) -> &'a str { match (n % 3, n % 5) { (0, 0) => "fizzbuzz", (0, _) => "fizz", (_, 0) => "buzz", _ => n.to_string().as_str(), } } Aus irgendeinem Grund bekomme ich einen Compilerfehler, den ich zu verstehen mühe. Fehler: Fehler[E0515]: kann keinen Wert zurückgeben, der sich auf temporären Wert bezieht --> src\main.rs:36:2] 36 ] / match (n % 3, n % 5) { 37:0 (0, 0) => "fizzbuzz", 38 ] => "fizz", 39 ] => "buzz" => * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Der einfachste Weg, dies zu lösen, ist, einfach einen `String` anstatt ein `& str` zurückzugeben: ```rust fn fizzbuzz(n: usize) -> String { match (n % 3, n % 5) { (0, 0) => "fizzbuzz".to_string(), (0, _) => "fizz".to_string(), (_, 0) => "buzz".to_string(), _ => n.to_string(), } } ```