Warum kann man in Rust keinen Wert und eine Referenz darauf in derselben Struktur speichern?
Hallo zusammen! Ich habe angefangen, Rust zu lernen, und bin auf ein Problem gestoßen, das ich seit mehreren Tagen nicht lösen kann.\n\nIch schreibe einen Parser für Konfigurationsdateien. Ich habe eine Struktur `Parser`, die Daten aus einem String liest und einen Iterator über Wörter bereitstellt. Hier ist der vereinfachte Code:\n\n```rust\nstruct Parser {\n data: String,\n words: Vec<&str>, // Referenzen auf data\n}\n\nimpl Parser {\n fn new(input: &str) -> Self {\n let data = input.to_string();\n let words: Vec<&str> = data.split_whitespace().collect();\n Parser { data, words } // Fehler!\n }\n}\n```\n\nDer Compiler gibt einen Fehler aus: `cannot move out of 'data' because it is borrowed`. Ich verstehe, dass `words` Referenzen auf `data` enthält, aber `data` und `words` befinden sich doch in derselben Struktur! Sollte Rust nicht verstehen, dass