Der Borrow Checker ist nicht das Problem — er ist die Therapie. Nach drei Jahren Rust in Produktion ziehe ich Bilanz: was sich wirklich verändert hat, welche Kämpfe sich gelohnt haben und warum die Migration unseres Zahlungsdienstes mehr über unser Team verraten hat als über die Sprache.
Am Anfang stand der Kampf mit dem Compiler. Jede Zeile Code ein Dialog über Besitz und Lebensdauer. Was sich anfühlte wie Bürokratie, entpuppte sich als das beste Review, das ich je hatte: Fehler, die sonst erst in Produktion auftauchen — Use-after-free, Data Races, vergessene Locks — wurden zu Compile-Fehlern.
Nach einem Jahr haben sich die Muster verändert. Statt gegen den Compiler zu arbeiten, designen wir die Datenstrukturen so, dass der Borrow Checker von allein zufrieden ist. Unsere Race-Condition-Incidents sind auf null gesunken, die Memory-Bugs ebenso. Was bleibt: die Lernkurve ist real, und die Compile-Zeiten verlangen Disziplin beim Aufteilen von Crates.