Fehler "cannot borrow as mutable because it is also borrowed as immutable" in Rust: Wie beheben?
Hallo! Ich habe gerade angefangen, Rust zu lernen, und bin auf ein Problem gestoßen, das ich nicht verstehe.
Ich habe ein einfaches Programm, das einen String entgegennimmt und zuerst seine Länge ermitteln und dann das erste Zeichen ändern will:
```rust
fn main() {
let mut text = String::from("hello");
let first = &text[0..1]; // immutable reference
text.push_str(" world"); // Versuch eines mutable borrow
println!("First char: {}", first);
}
```
Der Compiler gibt einen Fehler aus:
```
error[E0502]: cannot borrow `text` as mutable because it is also borrowed as immutable
```
Ich verstehe, dass es in Rust Borrowing-Regeln gibt: entweder eine mutable Referenz oder beliebig viele immutable Referenzen. Aber warum verletzt mein Fall diese Regel? Ich nehme doch zuerst eine immutable Referenz auf einen Teil des Strings und dann...