Programmiersprache: Rust 1.43 stabilisiert bestehende APIs
Im neuen Release der Programmiersprache steht Stabilisierung bestehender Schnittstellen im Zentrum, und der Makro-Bereich erhält ein kleines Feature hinzu.
- Silke Hahn
Mozilla hat Version 1.43 der Programmiersprache Rust herausgegeben. Es handelt sich um ein Minor Release ohne groĂźe neue Features mit Schwerpunkt auf der Stabilisierung bestehender APIs, ĂĽberarbeiteter Compiler-Performance und einem kleinen neuen Feature im Makro-Bereich.
Größere Änderungen waren zuletzt in Version 1.40 eingeflossen, seit der Entwickler unter anderem den Structs, Enums und Enum-Varianten mittels #[non_exhaustive]
nachträglich Felder hinzufügen können.
Neuer Befehl item
ermittelt Fragmente
Bei den Makros lassen sich mit dem Befehl item
Fragmente interpolieren, und zwar im "body of traits", in impl
und in externen Blöcken:
macro_rules! mac_trait {
($i:item) => {
trait T { $i }
}
}
mac_trait! {
fn foo() {}
}
Das Ergebnis der Interpolation sollte dann aussehen wie folgt:
trait T {
fn foo() {}
}
Die Typ-Inferenz um Primitives, References und Binäroperationen hat Änderungen erfahren, der folgende Code lässt sich so nur mit Rust 1.43 kompilieren: let
n: f32 = 0.0 + &0.0;. Die Vorgängerversion würde an dieser Stelle eine Fehlermeldung auswerfen. Cargo setzt einige neue Umgebungsvariablen, um die Integrationstests zu unterstützen, und die Bibliothek erlaubt jetzt die direkte Verwendung assoziierter Constants auf Floats und Integers, das bisher notwendige Importieren von Modulen entfällt.
Ressourcen zu Rust und Ausblick
Details zu dem Release stehen im Blogeintrag bei Rust. Hinweise zur Installation lassen sich dem Leitfaden entnehmen, und auf GitHub stehen detaillierte Release Notes bereit mit Hinweisen zu sämtlichen Neuerungen. Entwickler, die Rust bereits installiert haben, können mit dem Befehl $ rustup update stable
ihre Version aktualisieren.
In einer aktuellen Umfrage haben Rust-Entwickler ihre Erfahrungen mit der Programmiersprache, Lob und Kritik geäußert sowie Verbesserungswünsche eingebracht – im Raum steht auch die Gründung einer Foundation für die weitere Rust-Entwicklung. (sih)