Neue Rust-Version bringt neues Error-Message-Format und weitere Verbesserungen

Rust 1.12 steht zur Verfügung
Kommentare

Gut sechs Wochen nach dem Release von Rust 1.11 steht mit Rust 1.12 eine neue Version der Programmiersprache zur Verfügung. Im Vordergrund des Updates stehen eine Reihe Verbesserungen sowie einige signifikante Neuerungen – etwa ein neues Error-Message-Format.

„Fast, reliable, productive: pick three“ – so lautet der Slogan von Rust. Mit Version 1.12 steht ein neues Update für die Programmiersprache zur Verfügung, das laut dem Entwicklerteam eines der bedeutendsten Releases seit der Veröffentlichung von Rust 1.0 sein könnte. Im Rust-Blog hat das Rust Core Team nun die Highlights der neuen Version vorgestellt.

Neues Error-Messages-Format in Rust 1.12

Eine der größten Änderungen in Rust 1.12 betrifft den Umgang mit Error-Messages. Die neue Rust-Version bringt dafür ein neues Error-Message-Format mit, das von rustc ausgegeben wird und hilft, besser zu verstehen, warum überhaupt ein Fehler aufgetreten ist.

Hinter der Implementierung des neuen Formats steckt harte Arbeit: jeder rustc-Error musste für das neue Format designt, getestet und aktualisiert werden. Bei dem neuen Error-Message-Format steht der Code im Vordergrund und es wird mit Anmerkungen hervorgehoben, welche Code-Teile für den Fehler relevant sind. Zum Vergleich ein Vorher-Nachher-Beispiel:

Vorher:

Altes Error-Message-Format in Rust

Altes Error-Message-Format in Rust, Quelle: Rust

Nachher:

Neues Error-Message-Format in Rust 1.12

Neues Error-Message-Format in Rust 1.12, Quelle: Rust

Rust 1.12 kommt darüber hinaus auch mit einigen weiteren Änderungen daher. Die größte interne Veränderung betrifft dabei den Umzug zu einem neuen Compiler-Backend, das auf dem neuen Rust-MIR basiert. Zwar bringt dieser keine für den User sichtbaren Änderungen mit, ebnet aber den Weg für künftige Compiler-Optimierungen, Verbesserungen der Compile-Zeiten und eine Verkleinerung des Codeumfangs.

Der neue Rust „mid-level IR“ – kurz MIR – vereinfacht die Verarbeitung von Rust-Code und ermöglicht neue Analysen und Optimierungen, die zuvor nicht möglich waren. Mehr Informationen dazu bietet der oben genannte Blogpost.

Weitere Verbesserungen und Cargo-Features

Neben den oben genannten Neuerungen bringt Rust 1.12 auch viele weitere Verbesserungen mit sich. Dazu gehört etwa, dass Test-Binaries nun ein --test-threads-Argument unterstützen, um die Anzahl der genutzten Threads bei der Ausführung von Tests festzulegen; außerdem gibt der Test-Runner nun eine Warnung aus, wenn ein Test mehr als 60 Sekunden läuft. Rust 1.12 bringt zudem einige kleinere Verbesserungen in der Dokumentation mit; ebenso wurden der neuen Sprach-Version einige Library-Stabilizations spendiert.

Auch für Cargo bringt die neue Rust-Version einige neue Features mit sich – etwa Workspaces, die es einer Gruppe von Rust-Packages erlauben, die gleiche Cargo.lock-Datei zu teilen. Darüber hinaus bietet die neue Version nun die Möglichkeit, die Quelle eines Crates zu überschreiben.

Alle Änderungen lassen sich den vollständigen Release Notes entnehmen; Rust 1.12 steht auf der Projektwebsite zum Download zur Verfügung.

JavaScript Days 2017

Architektur mit JavaScript

mit Golo Roden (the native web)

JavaScript Testing in der Praxis

mit Dominik Ehrenberg (crosscan) und Sebastian Springer (MaibornWolff)

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -