Im GCC-Frontend mit dem Rust-Compiler wurde der Borrow Checker implementiert

Für die Einbindung in den GCC 15 Branch wurde eine Reihe von Patches vorgeschlagen, die die Unterstützung der Programmiersprache Rust im Frontend gccrs verbessern. Die auffälligste Änderung ist die Unterstützung der Überprüfung von Variablenleihgaben (borrow checker), die auf dem Polonius-Komponenten basiert, die vom Hauptentwicklungsteam von Rust als nächste Generation des Borrow checkers entwickelt wird.

Die vorgeschlagene Implementierung des Borrow checkers unterscheidet sich dadurch, dass sie in der Programmiersprache Rust verfasst ist und erweiterte Möglichkeiten zur Codeverifizierung bietet, die es ermöglichen, in einigen Fällen als sicher (safe) geltenden Code zu betrachten, der zuvor aufgrund der Einschränkungen der standardmäßig verwendeten Implementierung des Borrow checkers mit dem Schlüsselwort Unsafe markiert werden musste.

Die für GCC vorbereitete Lösung hat Einschränkungen:

  • Für Polonius sind Situationen bekannt, in denen bestimmter, tatsächlich in Projekten existierender Code zu einem exponentiellen Anstieg der Analysekomplexität führt.
  • Für GCC erfordert der Abschluss der Phase der initialen Bootstrap-Prozesses (bootstrapping) des Compilers gccrs derzeit einen Rust-Compiler (in Zukunft wird diese Einschränkung behoben sein).

Die vollständige Implementierung einer eigenständigen сборки umfasst einen zweistufigen Prozess, bei dem zunächst GCC gccrs ohne Borrow Checker baut und dann die erwähnte Implementierung des Borrow Checkers, die in Rust geschrieben wurde, unter Verwendung einer reduzierten Compiler-Variante kompiliert, wobei der Code als bedingt vertrauenswürdig betrachtet wird (d.h. ohne die Überprüfung von Ausleihungen). Nach dem Bau des Borrow Checkers wird eine erneute Kompilierung des Compilers unter Berücksichtigung der Ausleihenüberprüfungen durchgeführt.

Quelle: opennet.ru

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster