Ferris Talk #10: Constant Fun mit Rust – const fn
Seite 3: Konstanten in Rust – überraschend vielseitig
Konstanten in Rust überraschen mit einer Vielzahl an Möglichkeiten, die man in zahlreichen anderen Programmiersprachen nicht findet. Neben den üblichen konstanten Werten erlaubt const fn
in Rust die Ausführung von Code zur Übersetzungszeit. Diese Ausgabe der Rust-Kolumne hat die Sprachfunktion anhand vieler Beispiele gezeigt.
Derartiger Code schränkt das Entwickeln mit Rust funktional allerdings etwas ein. Nicht alles, was Rust zur Laufzeit erlaubt, dürfen Entwicklungsteams in konstant evaluierten Funktionen auch tatsächlich machen. Die dargestellten Listings zeigen exemplarisch solche Einschränkungen.
Die aktuelle Rust-Version 1.61 beseitigt einige wesentliche Einschränkungen. const fn
beherrscht jetzt unter anderen Trait Bounds, impl
und dyn
Trait Types. Damit eröffnet sie für kommende Rust-Versionen neue Einsatzbereiche von const
und const fn
im eigenen Code und in der Rust-Standardbibliothek. Mehr Funktionen lassen sich in Zukunft als const fn
umsetzen und dadurch im Kontext von Konstanten und statischen Variablen einsetzen. Der Rust-Code wird dadurch einfacher und effizienter.
Rainer Stropek
ist Softwareentwickler, Trainer, Autor und Vortragender im Microsoft-Umfeld und seit über 25 Jahren als Unternehmer in der IT-Industrie tätig.
Er gründete und führte in dieser Zeit mehrere IT-Dienstleistungsunternehmen. Neben der Tätigkeit als Trainer und Berater in seiner Firma software architects entwickelt er mit seinem Team die preisgekrönte Software time cockpit. Rainer hat Abschlüsse der höheren technischen Schule für Informatik Leonding (AT) sowie der University of Derby (UK). Er ist Autor mehrerer Fachbücher und Artikel in Magazinen im Umfeld von Microsoft .NET und C#, Azure, Go und Rust. Seine technischen Schwerpunkte sind Cloud Computing, die Entwicklung verteilter Systeme sowie Datenbanksysteme.
Regelmäßig tritt er als Speaker und Trainer auf namhaften Konferenzen in Europa und den USA auf. 2010 wurde er von Microsoft zu einem der ersten MVPs (Most Valuable Professionals) für die Azure-Plattform ernannt. Seit 2015 ist er Microsoft Regional Director. 2016 hat er zudem den MVP Award für Visual Studio und Developer Technologies erhalten.
(sih)