Programmiersprache: Rust 1.26 verbessert Traits, Match und Main

Die aktuelle Version 1.26 der Programmiersprache Rust liefere die meisten neuen Funktionen seit Version 1.0, sagt das Team. Dazu gehören Verbesserungen bei Traits, dem Match-Operator, Iteratoren und der Main-Methode.

Artikel veröffentlicht am , Kristian Kißling/Linux Magazin/
Rust 1.26 ist verfügbar.
Rust 1.26 ist verfügbar. (Bild: flattop341, flickr.com/CC-BY 2.0)

Während die vorherigen Updates eher kleiner ausfielen, bringe Rust 1.26.0 die meisten neuen Funktion seit Version 1.0 mit, schreibt das Rust-Core-Team in der Release-Mitteilung auf seinem Blog. An erster Stelle der Ankündigung erwähnen die Beteiligten allerdings die Dokumentation: Das Buch The Rust Programming Language ist nun in zweiter Ausgabe erschienen und sei "eine Verbesserung in alle Richtungen". Für die gedruckte Ausgabe, die bei No Starch Press erscheinen soll, erhalte die Dokumentation noch letzte Korrekturen, sie lässt sich aber bereits unter doc.rust-lang.org nachlesen oder über den Befehl rustup doc -book lokal generieren.

Stellenmarkt
  1. Softwareentwickler Healthcare IT (gn*)
    medavis GmbH, Karlsruhe
  2. IT-Softwareingenieur (w/m/d) 1st Level
    SSI SCHÄFER Automation GmbH, Giebelstadt
Detailsuche

Zu den neuen Funktionen, die die Veröffentlichung für das Team so wichtig machen, gehört unter anderem das impl Trait, das einen "existenziellen Typ" implementiert. Auf eine Funktion angewendet bedeutet das für diese, dass sie keine Argumente akzeptieren muss, aber einen Typ zurück gibt, der das Trait Trait implementiert.

Mit Traits lassen sich Mengen von Methoden auf eine Art und Weise zusammenfassen, sodass dabei bestimmte Probleme der Vererbung umgangen werden. Genutzt wird dies etwa in Javascript (Ecmascript 8), Kotlin, Perl, PHP und anderen Sprachen. In Rust sei die neue Funktion besonders für jene Methoden interessant, die Closures oder Iteratoren zurückgeben. Ausführliche Hintergründe dazu liefert der Blogpost.

Zusätzlich machen es die Entwickler einfacher, match für Referenzen auf Optionen anzuwenden. Der dazu bisher nötige Code sieht nicht nur etwas ungewöhnlich aus, die dafür nötigen Änderungen bringen Entwickler auch nicht wirklich weiter, heißt es in den Blog. Dank Match Bindings referenziert und dereferenziert der Compiler Match Statements nun automatisch und lässt Entwickler so weniger Boilerplate Code schreiben.

Golem Akademie
  1. CEH Certified Ethical Hacker v11: virtueller Fünf-Tage-Workshop
    30.05.-03.06.2022, Virtuell
  2. Blender Grundkurs: virtueller Drei-Tage-Workshop
    07.-09.06.2022, Virtuell
Weitere IT-Trainings

Auch auf Slice Patterns haben die Nutzer von Rust laut Blogpost länger gewartet. Damit funktionieren Matches für Teile von Arrays, selbst wenn deren Länge nicht ganz klar ist. Auch hierfür liefert das Blog Beispiele.

Main-Methode mit Rückgabewert

Die Main-Methode kann neuerdings über den ?-Operator einen Fehlercode mitsamt Debug-Informationen zurück liefern. Das ging bislang nicht, weil der Operatur einen Typ Result benötigte, dieser in der Main-Methode selbst aber nicht funktionierte. Vor allem neue Entwickler griffen daher auf etwas umständliche Workarounds zurück.

Lange vor Rust 1.0 war es außerdem möglich, exklusive Bereiche zu definieren. Eine Schleife wie for i in 1..3 {...} zählte dann für i die Werte 1 und 2, nicht aber 3. Seit Rust 1.26.0 ist auch die inklusive Schleife for i in 1..=3 {...} erlaubt, das die 3 in den Bereich einschließt und in der Schleife für i mitliefert. Neu ist auch, dass Rust in Version 1.26.0 128-Bit-Integer erlaubt, natürlich in Form von i128 und u128.

Für die Veröffentlichung haben die Entwickler zudem die Leistung des Compilers gesteigert, der benötige zum Übersetzen des Codes nun durchschnittlich 12 Prozent weniger Zeit. Die Bibliothek fs::read_to_string sei stabilisiert und lese nun problemlos eine komplette Datei in den Arbeitsspeicher.

Für den Paketmanager Cargo gibt es weniger neue Funktionen, die Rust-Entwickler haben ihn allerdings weiter stabilisiert und schneller gemacht. Herunterladen lässt sich Rust 1.26.0 über die Webseite, ein rustup update stable aktualisiert auf die neue Version.

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
LG HU915QE
Laserprojektor erzeugt 90-Zoll-Bild aus 5,6 cm Entfernung

LG hat einen Kurzdistanzprojektor mit Lasertechnik vorgestellt. Der HU915QE erzeugt ein riesiges Bild und steht dabei fast an der Wand.

LG HU915QE: Laserprojektor erzeugt 90-Zoll-Bild aus 5,6 cm Entfernung
Artikel
  1. Verkaufsstart des 9-Euro-Tickets: Was Fahrgäste wissen müssen
    Verkaufsstart des 9-Euro-Tickets
    Was Fahrgäste wissen müssen

    Das 9-Euro-Ticket für den ÖPNV ist beschlossene Sache, Verkehrsverbünde und -unternehmen sehen sich auf den Verkaufsstart in diesen Tagen gut vorbereitet. Doch es gibt viele offene Fragen.

  2. Sexualisierte Gewalt gegen Kinder: Bundesinnenministerin Faeser ändert Ansicht zu Chatkontrolle
    Sexualisierte Gewalt gegen Kinder
    Bundesinnenministerin Faeser ändert Ansicht zu Chatkontrolle

    Ursprünglich hat die Sozialdemokratin die geplante EU-Überwachung des Internets befürwortet. Nun sagt sie etwas anderes zur Chatkontrolle.

  3. LTE-Patent: Ford droht Verkaufs- und Produktionsverbot in Deutschland
    LTE-Patent
    Ford droht Verkaufs- und Produktionsverbot in Deutschland

    Ford fehlen Mobilfunk-Patentlizenzen, weshalb das Landgericht München eine drastische Entscheidung gefällt hat. Autos droht sogar die Vernichtung.

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 • Acer Predator X38S (UWQHD, 175 Hz OC) 1.499€ • MindStar (u. a. AMD Ryzen 7 5700X 268€ und PowerColor RX 6750 XT Red Devil 609€ und RX 6900 XT Red Devil Ultimate 949€) • Alternate (u. a. Cooler Master Caliber R1 159,89€) • SanDisk Portable SSD 1 TB 81€ • Motorola Moto G60s 149€ [Werbung]
    •  /