Programmiersprache: Rust 1.26 führt Existential Types ein

Die neue Version von Mozillas Programmiersprache Rust führt zum ersten Mal existenzielle Types in die Sprache ein. Außerdem hat sich das Match-Binding verbessert. Die zweite Version des Buchs zur Sprache ist ebenfalls erschienen.

In Pocket speichern vorlesen Druckansicht
Programmiersprache: Rust 1.26 führt Existential Types ein
Lesezeit: 2 Min.
Von
  • Björn Bohn

Version 1.26 von Mozillas Programmiersprache Rust ist erschienen. Die größte Neuerung ist dabei die Einführung von impl Trait und der damit verbundenen existenziellen Types. Außerdem haben die Macher die match-Bindings überarbeitet und dafür gesorgt, dass main ein Result zurückgeben kann.

Laut den Rust-Entwicklern war das impl-Trait-Feature schon lange auf dem Wunschzettel von Rust-Nutzern. Betrachtet man den Code

fn foo() -> impl Trait {
// ...
}

bedeutet die Typsignatur, dass foo eine Funktion ist, die keine Argumente aufnimmt, aber einen Type zurückgibt, der Trait implementiert. Der genaue Type bleibt dabei unbekannt, es ist lediglich klar, dass er einen bestimmten Trait implementiert. Das soll beispielsweise für Closures nützlich sein, die einen bestimmten, nichtschreibbaren Typ haben, jedoch den Fn-Trait implementieren.

Mit einem verbesserten match-Binding wollen die Rust-Entwickler dafür sorgen, dass Nutzer der Sprache in Zukunft weniger Boilerplate verwenden müssen. Der Compiler referenziert beziehungsweise dereferenziert in Zukunft match-Statements automatisch. Schreibt man beispielsweise

  match arg {
Some(name) => println!("Hello {}!", name),

referenziert der Compiler automatisch Some und bindet name als ref name.

Zusätzlich dazu können Entwickler jetzt eine main-Funktion schreiben, die Result zurückgibt. Viele neue Nutzer von Rust haben in der Vergangenheit bereits versucht, ? zum Handhaben von Fehlern in der main-Funktion zu nutzen. Dies hat bisher aber zu einem Fehler geführt. In der neuen Version kann Rust allerdings damit umgehen.

Alle Informationen zur neuen Rust-Version finden sich in der offiziellen Ankündigung. Wer gerne einen detaillierten Überblick über die Sprache gewinnen möchte, ist mit dem kostenlosen Buch der Entwickler gut beraten, das nun in der zweiten Version erschienen ist. (bbo)