Programmiersprachen: Rust 1.25 setzt auf LLVM 6

Außer dem Update der Compiler-Infrastruktur lassen sich nun Imports gruppieren. Darüberhinaus tragen die angekündigten Verbesserungen der Dokumentation erste Früchte.

In Pocket speichern vorlesen Druckansicht 15 Kommentare lesen
Rust 1.25 setzt auf LLVM 6
Lesezeit: 2 Min.
Von
  • Rainald Menge-Sonnentag

Mozilla hat Rust 1.25 veröffentlicht und dabei die Compiler-Infrastruktur von dem bisher zugrunde liegenden LLVM 4 auf LLVM 6 aktualisiert. Konkret betrifft das Upgrade die Untermodule src/llvm, src/libcompiler_builtins und src/dlmalloc. LLVM ist ein zentraler Bestandteil der Toolchain der auf Nebenläufigkeit und Sicherheit ausgerichteten Programmiersprache Rust. Der Wechsel ist wohl unter anderem für die Anbindung an die AVR-Mikrocontroller wichtig.

Neu ist zudem, dass Entwickler nun use-Anweisungen gruppieren und so mehrere Imports aus demselben Paket übersichtlicher schreiben können. Der Rust-Blog gibt dafür folgendes Beispiel, in dem die bisherige Schreibweise

use std::fs::File;
use std::io::Read;
use std::path::{Path, PathBuf};

durch folgende ersetzt wird:

use std::{fs::File, io::Read, path::{Path, PathBuf}};

Dabei muss nicht die gesamte Anweisung in einer Zeile stehen, sondern sie lässt sich auch analog zu Methodenkörpern mehrzeilige schreiben:

use std::{
fs::File,
io::Read,
path::{
Path,
PathBuf
}
};

Die Anweisung #[repr(align(x))] zum Festlegen der Speicherausrichtung (Alignment) für ein struct ist nun als stabil gekennzeichnet und damit Bestandteil der Sprache. Die Ausrichtung ist für diejenigen wichtig, die auf unterster Ebene arbeiten und manuell festlegen, wie die Datenelemente im Speicher abgelegt sind.

Cargo, der Paketmanager von Rust, erstellt nun beim Verwenden des Befehls cargo new standardmäßig ein Binary, statt einer Library. Weiterhin funktionieren die Flags --lib für Libraries und --bin für Binaries beziehungsweise ausführbare Dateien. Das Team hat lediglich festgestellt, dass Entwickler wohl entgegen früheren Annahmen häufiger Binaries als Bibliotheken mit cargo new erstellen.

Darüberhinaus haben die Macher von Rust die Dokumentation wie vor Kurzem angekündigt überarbeitet. So ist Rust By Example nun Bestandteil der Dokumentationssite doc.rust-lang.org.

Eine Übersicht über die Neuerungen zeigt der Blogbeitrag. Die komplette Liste lässt sich den Release Notes entnehmen. Der Sourcecode liegt quelloffen im GitHub-Repository, und Information zum Installieren von Binaries auf Linux, macOS und Windows stehen in der Rust-Dokumentation. (rme)