Programmiersprache: Rust stabilisiert GATs nach sechseinhalb Jahren
Die Rust-Community hat Version 1.65 ihrer Programmiersprache veröffentlicht(öffnet im neuen Fenster) . Das Team führt damit erstmals offiziell die sogenannten Generic Associated Types (GATs) ein. Ursprünglich vorgeschlagen worden sind diese erstmals im Frühjahr 2016(öffnet im neuen Fenster) und selbst nach langjährigen Diskussionen und der initialen Code-Aufnahme in den Compiler galt die Technik in Rust bisher als unvollständig implementiert. Das ändert sich nun aber.
In einem ausführlichen Blogeintrag zu den GATs(öffnet im neuen Fenster) heißt es, dass es sich dabei um eine "monumentale Errungenschaft" handele, ähnlich wie die zuvor schon eingeführte Async-Technik oder const Generics. Wie aus dem Namen GAT hervorgeht, handelt es sich dabei um eine spezielle Art der Associated Types(öffnet im neuen Fenster) , und zwar um Typen-Deklarationen innerhalb eines Traits.
Letztere wiederum sind ähnlich zu den Interfaces genannten Techniken in anderen Sprachen und ermöglichen die Definition bestimmter Funktionalität, die über mehrere Typen hinweg gleichbleibend genutzt werden kann. Und die darin deklarierten Associated Types können dank der GATs nun eben wiederum generalisiert werden. Die Generics werden in Rust mit <> markiert.
Bedingte Zuweisungen und benannte Blöcke
Neu in Rust 1.65 sind außerdem bedingte Zuweisungen über eine Let-Else-Anweisung. Zuvor konnten Variablen per Let nur starr zugewiesen werden, für eine bedingte Zuweisung mussten Umwege genutzt werden wie etwa über if let , was nun nicht mehr notwendig ist.
Für Schleifen, die nur exakt einmal ausgeführt werden, um einen benannten Break-Block nutzen zu können, hat die Rust-Community nun ebenfalls eine Abkürzung erstellt. Die benannten Break-Blöcke können jetzt in allen Anweisungen genutzt werden, die aus mehreren Blöcken bestehen.
In der aktuellen Version stabilisiert hat das Team außerdem die Backtrace-API, die jeweils plattformspezifisch einen Zugriff auf den Stacktrace ermöglicht. Ersetzt haben die Beteiligten ferner den Rust Language Server . Alternativ steht der Rust-Analyzer bereit.
- Anzeige Hier geht es zu Programmierung sicherer Systeme mit Rust bei Amazon Wenn Sie auf diesen Link klicken und darüber einkaufen, erhält Golem eine kleine Provision. Dies ändert nichts am Preis der Artikel.