Programmiersprache: Rust 1.46.0 erweitert die Const-Funktion

Die Const-Funktionen unterstützen in der aktuellen Rust-Version 1.46 viele wichtige und grundlegende Anweisungen der Programmiersprache.

Artikel veröffentlicht am , Kristian Kißling/Linux Magazin/
Rust 1.46 ist erschienen.
Rust 1.46 ist erschienen. (Bild: Timor Kodal, flickr.com/CC-BY-SA 2.0)

Die aktuelle Version 1.46 der Programmiersprache Rust ist erschienen. Die Neuerungen betreffen unter anderem die Sprache selbst, die Bibliotheken und den Paketmanager Cargo. So lassen sich einige Kern-Funktionen und -Anweisungen der Sprache nun auch in einer rudimentären Const-Funktion einsetzen (const fn). Dazu zählen: if, if let, match, while, while let, loop sowie die Operatoren && und ||. Ebenso gibt es die Möglichkeit, ein Array in einer Const-Funktion in einen Slice zu verwandeln. Der Vorteile solcher Konstrukte: Einige Operationen lassen sich so in den Compile-Vorgang verlagern, weshalb der Code beim Ausführen schneller läuft.

Aufrufer tracken

Stellenmarkt
  1. Informatikerin / Informatiker (m/w/d)
    Bundeskriminalamt, Wiesbaden
  2. .NET software developer (m/f/d)
    PM-International AG, Speyer
Detailsuche

Ein neues Attribut namens #[track_caller] lässt sich mit Rust 1.46 an Funktionen anbringen. Tritt beim Aufruf einer solchen Funktion dann ein Panic-Fehler auf, kann das Attribut den Aufrufer identifizieren und entsprechende weitermelden. Weitere Neuerungen: Das rekursive Indizieren in Tupeln erfordert nun keine runden Klammern mehr, mem::transmute lässt sich mit static und const verwenden, aber noch nicht in const fn. Anderes gilt für mem::forget im Bibliothekskatalog, das nun eine const fn ist.

Weiterhin implementiert String nun From<char> und (String, u16) implementiert ToSocketAddrs. Der Paketmanager Cargo hat zudem vier weitere Umgebungsvariablen erlernt. Während CARGO_BIN_NAME und CARGO_CRATE_NAME auf die Namen einer Binärdatei respektive eines Crates verweisen, enthält CARGO_PKG_LICENSE den Pfad zur Lizenz des Paketmanifests und CARGO_PKG_LICENSE_FILE den zur Lizenzdatei.

Alle Neuerungen im Überblick sowie einige Anmerkungen zur Kompatibilität liefern die ausführlichen Release Notes. Sie verlinken auch die passenden Pull Requests. Wer sein vorhandenes Rust auf die aktuelle Version aktualisieren möchte, gibt einfach rustup update stable ein.

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
Cloud-Ausfall
Eine AWS-Region als Single Point of Failure

Ein stundenlanger Ausfall der AWS-Cloud legte zentrale Dienste und sogar Amazon selbst teilweise lahm. Das zeigt die Grenzen der Cloud-Versprechen.
Ein Bericht von Sebastian Grüner

Cloud-Ausfall: Eine AWS-Region als Single Point of Failure
Artikel
  1. Ampelkoalition: Das Verkehrsministerium wird zum Digitalministerium
    Ampelkoalition
    Das Verkehrsministerium wird zum Digitalministerium

    Aus dem geplanten Ministerium für Verkehr und Digitales wird ein Ministerium für Digitales und Verkehr. Minister Wissing erhält zusätzliche Kompetenzen.

  2. Bundesnetzagentur: 30 Messungen an drei unterschiedlichen Kalendertagen
    Bundesnetzagentur
    30 Messungen an drei unterschiedlichen Kalendertagen

    Die Bundesnetzagentur hat festgelegt, wann der Netzbetreiber/Provider den Vertrag nicht erfüllt. Es muss viel gemessen werden.

  3. Euro NCAP: Renault Zoe mit katastrophalem Crash-Ergebnis
    Euro NCAP
    Renault Zoe mit katastrophalem Crash-Ergebnis

    Mit dem Renault Zoe sollte man keinen Unfall bauen. Im Euro-NCAP-Crashtest erhielt das Elektroauto null Sterne.

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-Monitore zu Bestpreisen (u. a. 27" FHD 165Hz OC 199€) • Kingston PCIe-SSD 1TB 69,90€ & 2TB 174,90€ • Samsung Smartphones & Watches günstiger • Saturn: Xiaomi Redmi Note 9 Pro 128GB 199€ • Alternate (u. a. Razer Opus Headset 69,99€) • Release: Halo Infinite 68,99€ [Werbung]
    •  /