Rust 1.78: Neue Funktionen und Verbesserungen

Rust 1.78: Neuerungen und Verbesserungen

Rust 1.78, die neueste Version der beliebten, speichersicheren Programmiersprache, wurde kürzlich veröffentlicht. Eine der neuen Funktionen ist die Unterstützung für den #[diagnostic]-Attribut-Namensraum, um die Compiler-Meldungen zu beeinflussen.

Diese Meldungen werden als Hinweise behandelt, die der Compiler nicht zwingend verwenden muss, so das Rust-Team. Es ist auch kein Fehler, eine Diagnose bereitzustellen, die der Compiler nicht erkennt. Die Funktion soll es ermöglichen, Quellcode Diagnosen bereitzustellen, auch wenn sie nicht von allen Compilern unterstützt werden.

Angekündigt am 2. Mai, kann Rust 1.78 über rustup installiert werden:

$ rustup update stable

Eine weitere Neuerung in Rust 1.78 betrifft die Überprüfung von unsafe-Voraussetzungen. Die Rust-Standardbibliothek verfügt über eine Reihe von Überprüfungen für Voraussetzungen von unsafe-Funktionen, die historisch gesehen nur in #[cfg(debug_assertions)]-Builds der Bibliothek aktiviert waren, um die Leistung bei der Veröffentlichung nicht zu beeinträchtigen. Da die Bibliothek normalerweise im Veröffentlichungsmodus kompiliert und verteilt wird, führten die meisten Rust-Entwickler diese Überprüfungen nicht durch.

Mit Rust 1.78 wird die Bedingung für diese Überprüfungen bis zur Codegenerierung verzögert, sodass sie je nach Einstellung des Benutzers für Debug-Überprüfungen überprüft werden, die standardmäßig in Debug- und Test-Builds aktiviert sind. Diese Änderung soll dazu beitragen, undefiniertes Verhalten im Code zu erkennen, so das Rust-Team. Die Details darüber, wie viel im Allgemeinen überprüft wird, sind jedoch nicht stabil.

Auch die deterministische Neuausrichtung ist in Rust 1.78 enthalten. Die Standardbibliothek verfügt über Funktionen, die die Ausrichtung von Zeigern und Slices ändern, aber bisher gab es Einschränkungen, die es in der Praxis schwierig machten, sich darauf zu verlassen. Diese Einschränkungen bestanden größtenteils als Absicherung gegenüber der const-Auswertung, waren aber nur für den nicht-const-Gebrauch stabil. Jetzt wird versprochen, dass sie je nach tatsächlichen Eingaben ein konsistentes Laufzeitverhalten haben.

Rust 1.78 stabilisiert außerdem eine Reihe von APIs, erhöht die Mindestanforderung für Windows 10 für Ziele wie x_86-pc-windows-msvc und aktualisiert das gebündelte LLVM auf LLVM 18.

Rust 1.78 folgt der Veröffentlichung von Rust 1.77 am 21. März, die die Unterstützung für C-String-Literale enthielt. Zwei weitere Punktversionen wurden ebenfalls veröffentlicht: Rust 1.77.1, das das neue Cargo-Verhalten auf Windows für Ziele mit MSVC (Microsoft C und C++) deaktivierte, und Rust 1.77.2, das eine Sicherheitslücke behob.

Post teilen:

Brauchen Sie technische Unterstützung?

Ich stehe Ihnen zur Verfügung, um Ihnen bei allen technischen Problemen zu helfen. Kontaktieren Sie mich jetzt!

Verwandte Beiträge