Über 1000 Patches sind in der neuen Version 1.9 der Programmiersprache Rust gelandet. Unter anderem stabilisieren die Macher das Modul “std::panic” und stabilisieren Bibliotheken.
Rust unterscheidet zwei Arten von Problemen, die zum Scheitern von Operationen führen: erwartete und unerwartete. Das neue “catch_unwind”-API soll unerwartete Paniken innerhalb von Threads auffangen und Fehlermeldungen generieren. Der Vorteil: Rust lässt sich so auch in andere Sprachen einbetten. Ein zweiter Vorteil: Läuft ein Thread in eine Panik, muss das Programm ihn nicht killen, sondern kann ihn über “catch_unwind” und “resume_unwind” neu starten. Für Threads bringt das neue API also eine zusätzliche Isolationsschicht.
Für Autoren von Bibliotheken gibt es das neue Attribut “#[deprecated]”. Das erlaubt es, ein API mit einer Veraltet-Warnung zu versehen, dank RFC 1270 nun im kompletten Rust-Ökosystem. Zugleich leitet die Warnung Rust-Entwickler zu einer Alternative für das ausrangierte API.
Daneben unterstützt Rust 1.9 neue Targets (“mips-unknown-linux-musl”, “mipsel-unknown-linux-musl” und “i586-pc-windows-msvc”), von denen die beiden ersten laut den Release Notes besonders interessant für das Crosskompilieren sind. Apropos Kompilieren: Hier läuft der Vergleichstest von Variablen auf Äquivalenz beim Vereinheitlen von Typen schneller ab, was den Kompilierprozess insgesamt beschleunigt. Zudem gibt es mit dem aktuellen Release eine erste Möglichkeit, Specialization in der Standardbibliothek zu nutzen und wurden diverse Bibliotheken stabilisiert (Networking, Collections, Encoding, Pointers).






