Rost 1.36

Das Entwicklungsteam freut sich, Rust 1.36 vorzustellen!

Was ist neu in Rust 1.36?
Zukünftiges Merkmal stabilisiert, von neu: Alloc Crate, MaybeUninit , NLL für Rust 2015, eine neue Implementierung von HashMap und eine neue Flagge – offline für Cargo.


Und jetzt mehr:

  • Endlich in Rust 1.36 stabilisiert Merkmal Zukunft.
  • Kistenzuordnung.
    Ab Rust 1.36 sind Teile des std, die vom globalen Allokator abhängen (z. B. Vec ), befinden sich in der Zuordnungskiste. Jetzt exportiert std diese Teile erneut. Mehr dazu.
  • MaybeUnit anstelle von mem::uninitialized.
    In früheren Versionen ermöglichte mem::uninitialized das Umgehen der Initialisierungsprüfung. Sie wurde für die verzögerte Array-Zuweisung verwendet. Diese Funktion ist jedoch ziemlich gefährlich (mehr), daher wurde der MaybeUninit-Typ stabilisiert , was sicherer ist.
    Na ja, seit MaybeUninit ist eine sicherere Alternative, denn ab Rust 1.38 wird mem::uninitialized eine veraltete Funktion sein.
    Wenn Sie mehr über nicht initialisiertes Gedächtnis erfahren möchten, können Sie diesen Blogbeitrag von Alexis Beingessner lesen.
  • NLL für Rust 2015.
    In der Ankündigung Rost 1.31.0 Die Entwickler erzählten uns von NLL (Non-Lexical Lifetime), einer Verbesserung der Sprache, die den Kreditprüfer intelligenter und benutzerfreundlicher macht. Beispiel:
    fn main() {
    sei mut x = 5;
    sei y = &x;
    sei z = &mut x; // Dies war vor 1.31.0 nicht zulässig.
    }

    In 1.31.0 funktionierte NLL nur in Rust 2018, mit dem Versprechen, dass die Entwickler in Rust 2015 Unterstützung hinzufügen werden.
    Wenn Sie mehr über NLL erfahren möchten, können Sie hier mehr lesen Blogeinträge (Felix Klocks).

  • Die neue Flagge für Cargo ist „offline“.
    Rust 1.36 hat eine neue Flagge für Cargo stabilisiert. Das Flag --offline weist Cargo an, lokal zwischengespeicherte Abhängigkeiten zu verwenden, damit sie später offline verwendet werden können. Wenn die erforderlichen Abhängigkeiten offline nicht verfügbar sind und das Internet weiterhin benötigt wird, gibt Cargo einen Fehler zurück. Um Abhängigkeiten vorab herunterzuladen, können Sie den Befehl „cargo fetch“ verwenden, der alle Abhängigkeiten herunterlädt.
  • Hier Eine detailliertere Übersicht über die Änderungen können Sie hier lesen.

Auch in der Standardbibliothek gibt es Änderungen:

Andere Änderungen Rust, Kastenwagen и Clippy.

Source: linux.org.ru

Kommentar hinzufügen