Rust 1.80 veröffentlicht: Überblick über die wichtigsten Änderungen und Neuerungen

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Rust 1.80 veröffentlicht: Überblick über die wichtigsten Änderungen und Neuerungen



Das Rust-Entwicklungsteam hat ein weiteres stabiles Release vorgestellt – Version 1.80.0. Dieses Update bringt mehrere lang erwartete Funktionen, stabilisiert eine Reihe von APIs und verbessert die Benutzererfahrung. Lassen Sie uns genauer betrachten, was sich geändert hat und wie sich diese Neuerungen auf die Entwicklung auswirken werden.



Stabilisierung von LazyCell und LazyLock

Die wohl bemerkenswerteste Neuerung ist die Stabilisierung der Typen LazyCell und LazyLock. Bisher musste man für die verzögerte Initialisierung von Daten auf externe Crates (z. B. once_cell) oder komplexe Konstrukte zurückgreifen.

  • LazyCell – nicht blockierende verzögerte Initialisierung für den Singlethread-Kontext. Ermöglicht es, die Erstellung eines Wertes bis zum ersten Zugriff hinauszuzögern.
  • LazyLock – threadsichere Version, die einen Mutex zur Synchronisation des Zugriffs verwendet. Ideal für globale Konfigurationen und Singletons.

Beide Typen implementieren die Traits Deref und DerefMut, was ihre Verwendung bequem macht. Nun deckt die Standardbibliothek die häufigsten Szenarien der verzögerten Initialisierung ab.



API-Stabilisierung: Exclusive und andere

In Version 1.80 wurde eine Reihe neuer APIs stabilisiert:

  • Exclusive – ein Wrapper für den exklusiven Zugriff auf einen Wert. Ermöglicht die sichere Arbeit mit nicht-Send-Typen in einem asynchronen Kontext, indem es synchronen Zugriff über eine Closure bereitstellt.
  • Die Methoden BorrowedBuf::as_slice und BorrowedCursor::as_slice – vereinfachen die Arbeit mit Ein-/Ausgabepuffern.
  • HashMap::extract_if und HashSet::extract_if – Iteratoren, die es ermöglichen, Elemente basierend auf einem Prädikat aus einer Sammlung zu entfernen und deren Besitz zu übernehmen.


Verbesserungen am Compiler

Das Rust-Team arbeitet weiterhin am Feedback des Compilers. In 1.80 wurden die Fehlermeldungen bei falscher Verwendung von Traits und Lifetimes verbessert. Der Compiler bietet nun präzisere Hinweise, was besonders für Anfänger nützlich ist.

  • Verbesserte Diagnosen für Fehler im Zusammenhang mit Typen, die Drop implementieren.
  • Verständlichere Meldungen bei Importkonflikten.
  • Optimierung der Kompilierzeit für Projekte, die Makros verwenden.


Was bedeutet das für Entwickler?

Das Update auf Rust 1.80 wird allen empfohlen, die aktiv verzögerte Initialisierung nutzen oder mit asynchronem Code arbeiten. Die Stabilisierung von LazyLock ermöglicht es, auf externe Abhängigkeiten zu verzichten, was den Build vereinfacht und die Sicherheit erhöht. Die neuen Methoden für Collections machen den Code idiomatischer, und die verbesserte Compiler-Diagnostik beschleunigt das Debugging.



Für Benutzer von PythonLib, die Rust lernen oder es in Verbindung mit Python verwenden (z. B. über PyO3), ist dieses Update ebenfalls wichtig: Stabile APIs und eine verbesserte Compiler-Leistung machen Rust noch attraktiver für die Systemprogrammierung und hochlastige Dienste.



Die vollständige Liste der Änderungen ist in den offiziellen Release-Notizen verfügbar. Rust kann mit dem Befehl rustup update stable aktualisiert werden.

Empfohlene Bibliotheken