Programmiersprache: Rust 1.12 enthält neues Compiler-Backend und Fehlermeldeformat

Das zwölfte Update-Release seit der Freigabe von Rust 1.0 wird angesichts neuem Backend und neuem Fehlermeldeformat des Code-Compilers als wichtig erachtet.

vorlesen Druckansicht 18 Kommentare lesen
Programmiersprache: Rust 1.12 enthält neues Compiler-Backend und Fehlermeldeformat
Lesezeit: 2 Min.
Von
  • Alexander Neumann

Die letzte Woche erschienene Version 1.12 der Programmiersprache Rust wird als eines der wichtigsten Releases seit der Freigabe von Rust 1.0 im Frühjahr 2015 bezeichnet. Neben den obligatorischen kleineren Bugfixes, Arbeiten an der Dokumention und Stabilität gibt es deswegen nicht überraschend auch einige gewichtigere Änderungen.

So findet sich in Rust 1.12 ein neues Fehlermeldeformat des Code-Compilers rustc, das Programmierern auf einen Blick zeigen soll, welche Stelle im Code warum den Fehler ausgelöst hat. Primäre Labels geben dem Nutzer Aufschluss darüber, was falsch ist, während sekundäre mehr Informationen zum Warum geben, indem sie relevante Codestellen in der Reihenfolge ihres Auftretens listen. Sollten mehr Hinweise zur Verfügung stehen, als übersichtlich darzustellen ist, kommen zusätzliche Notizen ins Spiel. Darüber hinaus sind Warnungen, Hinweise und Tipps wie im alten Fehlerformat vorgesehen.

Des Weiteren verwendet die Sprache nun ein neues Compiler-Backend, dessen Codegenerierung auf Rust MIR (mid-level Intermediate Representation) basiert. Von ihr erhoffen sich die Entwickler kürzere Kompilierprozesse, ein schnelleres Ausführen von Rust-Programmen und präzisere Typüberprüfungen. Sie ersetzt die bisherige "High-Level IR" (HIR) sowie die IR des LLVM-Projekts.

Schließlich ist es nun möglich, den Rust-Compiler gegen LLVM 3.9 zu bauen. Auf weitere Neuerungen gehen ein aktueller Blog-Beitrag sowie die Release Notes ein.

Rust war 2012 von Mozilla vorgestellt worden. Die Sprachsyntax ist der von C und C++ ähnlich, semantisch gibt es allerdings größere Unterschiede. Die Sprache ist vor allem für Bereiche wie Browserentwicklung, Spieleentwicklung, Embedded-Systeme und als Endpunkt einer nativen Schnittstelle mit Skriptsprachen vorgesehen. Ursprünglich war Rust als Konkurrent für Googles Sprache Go gedacht, der Fokus hat sich dann aber ein wenig geändert.

Siehe dazu auf heise Developer: