Rust 1.4 bügelt Schwächen des Typsystems aus

Michael Thomas

© Shutterstock.com/Kriangsak Osvapoositkul

Die Multiparadigmensprache Rust ist in Version 1.4 erschienen. Statt auf zusätzliche Features konzentriert sich die neue Version in erster Linie auf die Verbesserung der Stabilität. Einige Änderungen haben sich dennoch ergeben.

So räumt der RFC 1214 („Clarify (and improve) rules for projections and well-formedness“) mit einigen Schwächen in der Definition und Implementierung mehrerer Teilaspekte des Typsystems auf. Da derartige Änderungen zu Regressionen führen können, warnt Rust 1.4 den Nutzer zwar vor Code, der die neuen Regeln verletzt. Kompiliert wird er allerdings dennoch, erst in Version 1.5 sollen die Warnungen zu Fehlern werden. Die Verbesserung des Typsystems ermöglichte zudem die Rückkehr des „Scoped Threads“-Features. Dieses ermöglicht die Erstellung von Threads, deren Referenzdaten sicher im Stapelspeicher gespeichert werden.

Auch der Windows-Support wurde in Rust 1.4 erweitert: Ab sofort werden auf die 64-bit MSVC ABI abzielende Windows-Builds unterstützt.

Die Release-Notes auf GitHub bieten eine detaillierte Übersicht über die weiteren Änderungen der aktuellen Version.

Was ist Rust?

Rust ist als Systemsprache konzipiert, die als Konkurrent für C und C++ – aber auch zu Googles Go – gesehen werden kann. Die Syntax ist stark an C angelehnt, enthält aber moderne Konstrukte, um invalide Speicherzugriffe zu verhindern und Multicore-Architekturen besser zu unterstützen.

Zu den Charakteristika der Sprache gehören Pattern Matching und algebraische Datentypen (enums), Typeninferenz, Higher-order Functions (Closures), Generics und Polymorphismus in Form von Java-artigen Interfaces in Kombination mit Haskell-artigen Typen-Klassen (traits).

Unterstützt werden sowohl funktionale als auch objektorientierte Programmierweisen. Nebenläufigkeit wird durch leichtgewichtige Tasks realisiert, wie sie beispielsweise in Erlang oder anderen Aktoren-basierten Sprachen anzutreffen sind. Seit 2011 werden Rust-Programme mit dem selbst in Rust geschriebene Compiler rustc kompiliert, welcher wiederum auf LLVM als Backend-Technologie zurückgreift.

Aufmacherbild: old metal iron rust background and texture von Shutterstock / Urheberrecht: Kriangsak Osvapoositkul

Verwandte Themen:

Geschrieben von
Michael Thomas
Michael Thomas
Michael Thomas studierte Erziehungswissenschaft an der Johannes Gutenberg-Universität Mainz und arbeitet seit 2013 als Freelance-Autor bei JAXenter.de. Kontakt: mthomas[at]sandsmedia.com
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: