Now Reading
Programmiersprache: Rust 1.57 – Don’t Panic!

Programmiersprache: Rust 1.57 – Don’t Panic!

Programmiersprache: Rust 1.57 – Don't Panic!

[ad_1]

Dies Rust-Team hat planmäßig Version 1.57 jener Programmiersprache veröffentlicht, dasjenige zweite Release nachdem dem Startschuss jener neuen Rust-Edition 2021 von Finale zehnter Monat des Jahres. Die wichtigsten Neuerungen miteinschließen die Paketverwaltung Cargo und die erstmalige Stabilisierung des panic!-Makros sowie unter anderem nebensächlich die Stabilisierung etlicher APIs – hier insbesondere jener Schnittstelle, die zu Gunsten von dasjenige Reservieren von Hintergrundspeicher zuständig ist.

Die API try_reserve soll es Aufrufern zuteil werden lassen, den Hintergrundspeicher zu Gunsten von die Typen Vec, Zeichenkette, HashMap, HashSetv und VecDeque fehlbar (fallible) zuzuweisen. Dies bedeutet, dass Rust den Prozess nicht abbricht, wenn jener gobale Allocator versagt. In der Tat garantiert Rust laut Blogeintrag nicht, dass jener Kernel den zurückgegebenen Speicher nebensächlich tatsächlich alloziert.

Eine weitere Neuerung betrifft die Rust-Paketverwaltung Cargo, die bislang nur die vier Profile dev, release, test und bench kannte. Ab sofort unterstützt Cargo nebensächlich jegliches beliebig bezeichnete Profil. Benutzerdefinierte Profile zu tun sein beim Stecken ein Profil angeben, dessen Standardeinstellungen sie dann erben. Mit ihnen erstellte Artefakte landen in separaten Verzeichnissen.

Dies panic!-Makro ließ sich in den bisherigen Rust-Versionen nicht in Compilezeit-Kontexten wie const fn nutzen. Ab Rust 1.57 gilt es nun qua stabil, und synchron lassen sich nebensächlich andere APIs jener Standard-Library (wie zum Beispiel assert!) nun in const nutzen. Noch ist gewiss nicht die gesamte Formatierungsinfrastruktur so weit, wie jener Blogeintrag einschränkend anmerkt.

Konkret bedeutet dasjenige, dass Entwicklerinnen und Entwickler dasjenige Makro panic! entweder mit einem statischen Zeichenkette oder mit einem einzelnen interpolierten &strg-Zahl hereinrufen zu tun sein, jener zwingend mit geschweiften Klammern {} zu verwenden ist: panic!("...") beziehungsweise panic!"{}", a. Die Hrsg. bezeichnen die Stabilisierung des Makros qua “minimal”, stellen nichtsdestoweniger in Chance, welche Form jener Unterstützung künftig weiter auszubauen.

Qua gesetzt gilt, dass die nun vorgenommene Stabilisierung schon Assertions zur Kompilierzeit möglich macht, um zum Beispiel die Größe eines Typs zu prüfen:

const _: () = assert!(std::mem::size_of::<u64>() == 8);
const _: () = assert!(std::mem::size_of::<u8>() == 1);

Da die Änderungen von einer Edition zur nächsten so gut wie moderat sind, hatte sich dasjenige Rust-Team schon beim ersten Editionssprung 2018 gegen den Sprung uff eine neue Hauptversion ganz und gar. Die Unterschiede von Editionen im Vergleich zu Hauptversionen erklärt ein Begleiter uff Mozilla Hacks von 2018.

Weitere Änderungen sowie eine Gliederung aller stabilisierten APIs stillstehen im Blogbeitrag zur Veröffentlichung jener aktuellen Version, sämtliche Neuerungen lassen sich den Release Notes zu Rust 1.57 schließen aus. Wie normal können Entwicklerinnen und Entwickler, die Rust schon installiert hatten, dasjenige aktuelle Release übrig rustup update stable herunterladen. Zu Händen Neulinge ist dasjenige rustup-Tool uff jener Download-Seite separat verfügbar.


(sih)

[ad_2]
View Comments (0)

Leave a Reply

Your email address will not be published.

Scroll To Top