Rust 1.36

Das Entwicklerteam freut sich, Ihnen Rust 1.36 vorzustellen!

Was gibt es Neues in Rust 1.36?
Der Trait Future wurde stabilisiert, außerdem: das Crate alloc, MaybeUninit, NLL für Rust 2015,eine neue Implementierung von HashMap und das neue Flag —offline für Cargo.


Jetzt im Detail:

  • In Rust 1.36 wurde endlich der Trait Future stabilisiert. Das Crate alloc.
  • Ab Rust 1.36 befinden sich Teile von std, die von einem globalen Allocator abhängen (z.B. Vec), im Crate alloc. Jetzt reexportiert std diese Teile.
    Mehr darüber MaybeUninit anstelle von mem::uninitialized..
  • In früheren Versionen ermöglichte mem::uninitialized, die Initialisierungsprüfung zu umgehen. Dies wurde für die späte Allocation von Arrays verwendet, ist jedoch sehr gefährlich (
    ), weshalb der Typ MaybeUninit stabilisiert wurde, der sicherer ist.weitere InformationenDa MaybeUninit eine sicherere Alternative darstellt, wird mem::uninitialized ab Rust 1.38 als veraltet gelten.
    Wenn Sie mehr über nicht initialisierten Speicher erfahren möchten, können Sie den Blogbeitrag (Alexis Beingessner) lesen.
    NLL für Rust 2015.
  • Im Ankündigungsartikel zu
    Rust 1.31.0 Rust 1.31.0 Entwickler haben uns über NLL (Non-Lexical Lifetime) berichtet, eine Verbesserung der Sprache, die den Borrow-Checker intelligenter und benutzerfreundlicher macht. Beispiel:
    fn main() {
    let mut x = 5;
    let y = &x;
    let z = &mut x; // Das war vor 1.31.0 nicht erlaubt.
    }

    In 1.31.0 arbeitete NLL nur in Rust 2018, mit dem Versprechen, dass die Entwickler Unterstützung für Rust 2015 hinzufügen würden.
    Wenn Sie mehr über NLL erfahren möchten, können Sie dazu in diesem Blogbeitrag (Felix Klocks) nachlesen.

  • Ein neues Cargo-Flag —offline.
    In Rust 1.36 wurde ein neues Flag für Cargo stabilisiert. Das Flag —offline weist Cargo an, lokal zwischengespeicherte Abhängigkeiten zu verwenden, damit sie später auch ohne Internet genutzt werden können. Wenn die benötigten Abhängigkeiten im Offline-Modus nicht verfügbar sind und das Internet dennoch benötigt wird, gibt Cargo einen Fehler zurück. Um Abhängigkeiten vorab herunterzuladen, kann der Befehl cargo fetch verwendet werden, der alle Abhängigkeiten herunterlädt.
  • Hier Sie können eine detailliertere Übersicht über die Änderungen lesen.

Es gibt auch Änderungen in der Standardbibliothek:

Weitere Änderungen Rust, Cargo und Clippy.

Quelle: linux.org.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster