Rust 1.38: Neue Linter-Warnung und mehr

© Shutterstock / Vitaly Korovin
Rust 1.38 ist da und bringt eine Reihe von Neuerungen mit. Dazu gehört eine neue Linter-Warnung, genau so wie eine Änderung am Verhalten des Compilers. Was hat sich geändert an Rust?
Rust 1.38 führt eine Neuerung am Compiler-Verhalten von Cargo ein. Zum kompilieren von Crates müssen die Dependecies nicht vollständig gebaut sein; ihre Metadaten reichen aus. Das nutzt Cargo künftig aus und beginnt automatisch mit dem Build-Prozess abhängiger Crates, sobald die Metadaten dafür bereitstehen. Diese Neuerung könne zu einer verbesserten Performance führen. Das Rust-Team erläutert im Blogpost zum Release jedoch, dass das nur auf bestimmte Crates zutreffe und von der verwendeten Hardware abhängig sei, sodass nicht alle Nutzer davon profitieren werden.
Rust 1.38: Neue Linter-Warnung
Außerdem gibt es Neuigkeiten für std::mem::uninitialized
, das als unsicher gilt und nicht mehr verwendet werden sollte. Allerdings wurde es noch nicht deprecated. Mit Rust 1.38 steht nun immerhin ein Linter zur Verfügung, der in einigen Anwendungsfällen Warnungen ausgibt. Grundlegend rät das Rust-Team jedoch dazu, alle Verwendungen von mem::uninitialized
und mem::zeroed
auf MaybeUninit
umzustellen, da auch die Fälle, die der Linter nicht abdeckt, unsicher sind.
Zu den weiteren Neuerungen in Rust 1.38 gehört, dass #[deprecated]
nun auch für Macros verwendet werden kann. Auch für das Debugging gibt es Neuigkeiten: Hier steht mit der neuen Version std::any::type_name
zur Verfügung, mit dem die Namen von Types zur Laufzeit ausgegeben werden können.
Weitere Informationen zu Rust 1.38 können dem Blogpost zum Release entnommen werden.
Hinterlasse einen Kommentar