Programmiersprache: Rust könnte neue Technik für Unsafe Pointer bekommen

Die Nutzung von Zeigern im Unsafe-Teil von Rust führt offenbar zu vielen Problemen. Das könnte künftig geändert werden.

Artikel veröffentlicht am ,
Die Programmiersprache Rust nutzt als Maskottchen die Krabbe Ferris.
Die Programmiersprache Rust nutzt als Maskottchen die Krabbe Ferris. (Bild: TARIK TINAZAY/AFP via Getty Images)

In einem sehr ausführlichen Blogpost beschreibt die Entwicklerin Aria Beingessner verschiedene Probleme im aktuellen Umgang der Programmiersprache Rust mit Unsafe Pointern, also jenen Zeigern, für die die sonst in Rust üblichen Sicherheitsgarantien nicht gelten. Beingessner verantwortet die Dokumentation für Unsafe Rust und hat die Pointer-API der Sprache umgestaltet. Sie schreibt nun: "Ich denke viel über unsichere Zeiger in Rust nach und ich hasse sie absolut."

Die verfügbare Umsetzung der Pointer in Rust sei "zutiefst fehlerhaft". Mit einem wachsenden Verständnis der Beteiligten dafür, wie die Zeiger eigentlich funktionieren sollten, seien die Mängel der bisherigen Technik umso eklatanter, schreibt Beingessner.

Sie führt weiter aus, dass der derzeit mögliche Umgang mit Tagged Pointern in Rust zu Schwierigkeiten führe, ein Speichermodell für die Programmiersprache formal zu definieren. Probleme gebe es außerdem beim Erstellen von sogenannten Sanitizern, die undefiniertes Verhalten und damit mögliche Sicherheitsrisiken erkennen sollen. Ebenso bekomme Rust Probleme mit CPU-Architekturen wie aus dem Cheri-Projekt, das einen inhärenten Speicherschutz bieten soll.

Für Probleme sorgen die Pointer auch im Zusammenspiel mit den in Rust genutzten Referenzen, die laut Beingessner eigentlich nie zusammen verwendet werden sollten. Das ist aber wohl nicht einfach. Darüber hinaus sei auch die Semantik beim Dereferenzieren eher verwirrend, so die Entwicklerin. In Safe Rust helfe hier dann immerhin noch der Compiler, falls etwas schief laufe. In Unsafe Rust seien die Entwickler aber auf sich allein gestellt.

Als Lösung macht Beingessner sehr detaillierte Vorschläge. Dazu gehört die strikte Trennung von eigentlichen Adressen und Pointern sowie die Einführung von syntaktischem Zucker für Pointer Offsets. Einen ersten Teil der Arbeiten setzt Beingessner laut Aussagen auf Twitter bereits um. Ob und in welcher Form die Änderung letztlich in einer stabilen Rust-Version landen, ist derzeit aber noch nicht absehbar.

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
Tesla Files
Cybertruck ist undicht, laut und bremst schlecht

Internen Dokumenten zufolge steht Teslas Pick-up-Truck vor großen Problemen. Der Cybertruck befinde sich in der Alpha-Phase.

Tesla Files: Cybertruck ist undicht, laut und bremst schlecht
Artikel
  1. Cordic-Algorithmus erklärt: Mit Addition und Bitschubserei komplexe Berechnungen lösen
    Cordic-Algorithmus erklärt
    Mit Addition und Bitschubserei komplexe Berechnungen lösen

    Algorithmus des Monats Wie berechnen Computer eigentlich Winkel- und Exponentialfunktionen? Wir stellen einen Algorithmus mit geringem Schaltungsaufwand vor.
    Von Johannes Hiltscher

  2. Apple-Headset: Vision Pro ist nicht Mark Zuckerbergs Vision
    Apple-Headset
    Vision Pro ist nicht Mark Zuckerbergs Vision

    Mark Zuckerberg hat sich zur Vision Pro geäußert - und relativ unbeeindruckt gezeigt. Es gebe keine "magischen Lösungen", die Meta nicht schon bedacht hätte.

  3. Internet zu langsam: Sonderkündigungsrecht bleibt trotz Preisnachlass bestehen
    Internet zu langsam
    Sonderkündigungsrecht bleibt trotz Preisnachlass bestehen

    Die Deutsche Telekom wollte das Sonderkündigungsrecht aushebeln, weil ein Preisnachlass gewährt wurde. Das hat ein Gericht nicht zugelassen.

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 • MindStar: Corsair Crystal 570X RGB Mirror 99€, be quiet! Pure Base 500 59€, Patriot Viper VENOM RGB DDR5-6200 32 GB 109€ • Acer XZ322QUS 259€ • Corsair RM750x 108€ • Corsair K70 RGB PRO 135€ • PS5-Spiele & Zubehör bis -75% • Chromebooks bis -32% • NBB: Gaming-Produkte bis -50% [Werbung]
    •  /