Hinzufügen von Verfeinerungstypen zu Rust: Eine Machbarkeitsstudie

2024-12-24

Dieser Artikel untersucht die Machbarkeit des Hinzufügens von Verfeinerungstypen zur Programmiersprache Rust. Basierend auf den Erfahrungen mit YAIOUOM, einem statischen Analysator, der Verfeinerungstypen zur Überprüfung von Maßeinheiten verwendet, untersucht der Autor Ansätze zur Implementierung von Verfeinerungstypen innerhalb des Typsystems von Rust. Mehrere Optionen werden vorgeschlagen, darunter Modifikationen der Trait-Auflösung, Typvariablenvereinheitlichung und die Einführung eines einsteckbaren Schlüsselwortmechanismus für die Typüberprüfung nach der Kompilierung. Ein optimistischer Ansatz – das Ignorieren von Einheitinformationen zu Beginn der Kompilierung und die spätere Überprüfung – wird als praktikabler angesehen. Das API-Design und die Fehlerbehandlung werden diskutiert. Zukünftige Arbeiten umfassen das Sammeln von Feedback, das Schreiben eines rustc-Treibers, der Plugins unterstützt, und die Implementierung mehrerer Verfeinerungstypen, möglicherweise einschließlich einer neuen Version von YAIOUOM und Teilmengen von Flux oder Liquid Haskell.

Mehr lesen