Programmiersprache: Rust 1.54 erweitert die Anbindung an WebAssembly

Neben der Stabilisierung intrinsischer Funktionen für die wasm32-Plattform bringt das Release Ergänzungen für Makros mit.

In Pocket speichern vorlesen Druckansicht 5 Kommentare lesen

(Bild: Callum Bainbridge / Shutterstock.com)

Lesezeit: 2 Min.
Von
  • Rainald Menge-Sonnentag

Im turnusmäßigen Sechswochentakt ist Rust 1.54 erschienen. Die neue Version hat zwei nennenswert Neuerungen an Bord, die einerseits WebAssembly als Zielplattform und andererseits den Einsatz von Makros in Attributen betreffen. Außerdem stabilisiert sie vor allem in den Standard-Collections einige APIs und Trait-Implementierungen.

Dass die Neuheiten eher überschaubar sind, verwundert wenig: Das Team hat derzeit vor allem die kommende Edition Rust 2021 im Blick, die planmäßig mit dem übernächsten Release am 21. Oktober erscheinen soll. Die öffentliche Testphase zu der dritten Edition nach Rust 2015 und Rust 2018 hat vor Kurzem begonnen.

Das aktuelle Release stabilisiert einige intrinsische Funktionen für die wasm32-Plattform, mit denen sich SIMD-Instruktionen (Single Instruction, Multiple Data) umsetzen lassen. Da WebAssembly von Haus aus die Code-Safety vor dem Ausführen überprüft, garantiert die Zielplattform, dass die Anweisungen korrekt dekodiert werden.

Damit entfällt für die meisten intrinsischen Funktionen bei wasm32 die für x86 und x86_64 notwendige Prüfung, ob das entsprechende Feature auf der Zielplattform aktiviert ist. Einige Funktionen wie v128_bitselect gelten damit als sichere Funktionen. Andere wie v128_load sind jedoch als unsafe deklariert, weil sie Rohzeiger (raw pointers) verwenden.

Neu ist zudem, dass Attribute nun funktionsähnliche Makros (function-like macros) enthalten dürfen. Als Anwendungsbeispiel nennt der Rust-Blog das Einfügen der Readme-Datei zu einem Projekt in die Dokumentationskommentare:

#![doc = include_str!("README.md")]

Die Makros innerhalb von Attributen dürfen durchaus verschachtelt sein.

Die Heise-Konferenz zu Rust

Am 13. Oktober dreht sich auf der betterCode() Rust alles um die Programmiersprache Rust. Die von heise Developer und dpunkt.verlag ausgerichtete Online-Konferenz richtet sich vor allem an Entwicklerinnen und Entwickler, die Erfahrung in anderen Sprachen wie C, C++ oder Java haben und Rust für neue oder als Ergänzung bestehender Projekte im Blick haben.

Das Programm spannt den Bogen von den Grundlagen über Microservices bis zum praktischen Einsatz in sicherheitskritischen Anwendungen. Ein Blick auf die kommende Edition Rust 2021 ist ebenfalls dabei.

WebAssembly und Rust

Rust steht zuvor bereits im Zentrum eines Thementags der gleichen Veranstalter zu WebAssembly:

Schließlich hat das Rust-Team das inkrementelle Kompilieren wieder standardmäßig aktiviert. In Rust 1.52 hatten zusätzliche Überprüfungen beim Laden der kompilierten Daten aus dem Cache zu Problemen geführt, weshalb das Bugfix-Release 1.52.1 das inkrementelle Kompilieren standardmäßig deaktiviert hatte. Die Probleme sind nun offensichtlich behoben.

Weitere Details zu Rust 1.54 lassen sich dem Rust-Blog entnehmen. Die vollständige Liste der Änderungen und Neuerungen findet sich in den Release Notes. Wie üblich können Entwicklerinnen und Entwickler, die Rust bereits installiert haben, das aktuelle Release über rustup update stable herunterladen. Für diejenigen, die noch kein Rust verwenden, ist das rustup-Tool auf der Download-Seite separat verfügbar.

Siehe dazu auch:

  • Rust: Download sicher und schnell bei heise.de

(rme)