Programmiersprache: Rust 1.39 erscheint mit Async/Await

Nach über drei Jahren Arbeit ist die Async-Await-Technik in der nun verfügbaren Version 1.39 der Sprache Rust offiziell stabilisiert. Zudem gibt der neue Borrow-Checker erstmals Fehler in Rust aus.

Artikel veröffentlicht am ,
Rust ist in Version 1.39 verfügbar.
Rust ist in Version 1.39 verfügbar. (Bild: Jason Rogers, flickr.com/CC-BY 2.0)

Die Version 1.39 der Programmiersprache Rust ist erschienen. Damit ist Technik für die Async-Await-Syntax erstmals offiziell stabil verfügbar. Begonnen haben die Arbeiten daran bereits vor mehr als drei Jahren, wie das Team selbst in einem zusätzlichen Blogeintrag zu der Technik schreibt. Mit der Version 1.36, die im Sommer dieses Jahres erschienen ist, hat das Entwicklerteam bereits wichtige Vorarbeiten dafür durchgeführt.

Die nun verfügbare Implementierung bezeichnet das Team als Minimal Viable Product (MVP) und geht entsprechend davon aus, dass sich die Technik künftig noch stark weiter entwickeln werde. Mit Hilfe der neuen Syntax lassen sich Funktionen und Codeblöcke als async markieren und mit .await kann auf deren Fertigstellung gewartet werden. Der Rückgabewert einer Async-Funktion ist dabei ein Future. Letzteres wiederum beschreiben die Entwickler von Rust als "ausgesetzte Berechnung".

Die Technik lässt sich einfach mit dem Ziel beschreiben, Funktionen auch pausieren zu können. Ähnliche Techniken gibt es auch in anderen Sprachen wie etwa Javascript oder C#. Die Rust-Entwickler weisen aber explizit darauf hin, dass sich das eigene Ausführungsmodell von denen in wichtigen Details unterscheide.

Neuer Borrow-Checker wird eingeführt

Mit Rust 1.39 ändert das Team außerdem das Verhalten des neu eingeführten Borrow-Checkers für die Veröffentlichung von Rust 2018. Die alte Technik hatte einige Probleme, die unsichere Speicherzugriffe ermöglichte, was Rust eigentlich verhindern soll. Die neue Implementierung hat zwar diese Probleme behoben, jedoch für einige Fehler in produktivem Code gesorgt.

Bisher hat das Team das geänderte Verhalten lediglich als Warnungen angezeigt. Mit der nun veröffentlichten Version 1.39 werden daraus harte Fehler in Rust 2018. Mit der kommenden Version 1.40 soll das auch für Rust 2015 umgesetzt werden, so dass der alte Borrow-Checker entfernt werden kann.

Entwickler können mit Rust 1.39 Attribute in Funktionsparametern nutzen. Außerdem sind einige Funktionen aus der Standardbibliothek als const fn verfügbar, dazu gehören etwa Vec::new, String::new, LinkedList::new oder auch str::len. Diese lassen sich in const-Umgebungen aufrufen, also etwa um einen konstanten Vektor zu erzeugen. Weitere Neuerungen listet die Ankündigung.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Aktuell auf der Startseite von Golem.de
5.000 Fahrzeuge pro Woche
Tesla steigert Giga-Berlin-Produktion und lockt mit Rabatten

Tesla hat Ende März 2023 einen wöchentlichen Ausstoß von 5.000 Fahrzeugen erreicht. Derweil sollen Sonderrabatte Kunden locken.

5.000 Fahrzeuge pro Woche: Tesla steigert Giga-Berlin-Produktion und lockt mit Rabatten
Artikel
  1. Fused Deposition Modeling: Käsekuchen in 3D aus sieben Zutaten gedruckt
    Fused Deposition Modeling
    Käsekuchen in 3D aus sieben Zutaten gedruckt

    3D-Druck in der Küche: US-Forschern ist es nach mehreren erfolglosen Versuchen gelungen, ein Stück Käsekuchen auszudrucken.

  2. Verbrennerverbot: So kann die E-Fuels-Regelung noch scheitern
    Verbrennerverbot
    So kann die E-Fuels-Regelung noch scheitern

    Zwar haben sich Regierung und EU-Kommission auf ein Verfahren zur Zulassung von E-Fuel-Autos geeinigt. Doch dieses muss noch einige Hürden überwinden.

  3. Smart-Home-Anwendung: MQTT unter Java nutzen
    Smart-Home-Anwendung
    MQTT unter Java nutzen

    Wer Daten von Sensoren oder ähnlichen Quellen von A nach B senden möchte, kann das Protokoll MQTT verwenden, dank entsprechender Bibliotheken auch einfach unter Java.
    Eine Anleitung von Florian Bottke

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    • Daily Deals • MediaMarkt-Osterangebote • 3 Spiele kaufen, 2 zahlen • Cyberport Jubiläums-Deals • Alternate: Corsair Vengeance 32 GB DDR-6000 116,89€ u. 64 GB DDR-5600 165,89€ • MindStar: AMD Ryzen 7 5800X 209€ • MSI Optix 30" WFHD/200 Hz 289€ • WD_BLACK SN850 2 TB 189€ • NBB Black Weeks [Werbung]
    •  /