Për t'u përfshirë në degën GCC 15, është propozuar një seri patch-esh që përmirëson mbështetje për gjuhën Rust në frontin gccrs. Ndryshimi më i dukshëm është mbështetje për kontrollin e huazimit të variablave (borrow checker), i realizuar mbi komponentin Polonius, i zhvilluar nga ekipi kryesor i zhvilluesve të Rust si gjenerata e ardhshme Borrow checker.
Implementimi i propozuar i Borrow checker është ndryshe nga ai që është shkruar në gjuhën Rust dhe ofron mundësi të zgjeruara verifikimi të kodit, duke lejuar në disa raste që të konsiderohet si i sigurt (safe) kodi që deri tani kërkonte shenimin me fjalën e kyçur Unsafe për shkak të kufizimeve të implementimit të Borrow checker të aplikuar si standard.
Zgjidhja e përgatitur për GCC ka kufizime:
- Për Polonius njihen situata ku disa kode të pranishme në projekte shkaktojnë një rritje eksponenciale të kompleksitetit të analizës.
- Në rastin e GCC, për të përfunduar fazën e fillimit të shkurtimit (bootstrapping) të kompilerit gccrs, aktualisht kërkohet një kompiler Rust (në të ardhmen, ky kufizim do të eliminohet).
Implementimi i plotë i ndërtimit të vetë-mjaftueshëm parasheh një shkurtim me 2 faza, ku së pari GCC do të ndërtojë gccrs pa Borrow checker, dhe më pas do të ndërtojë implementimin e përmendur të Borrow checker, i shkruar në gjuhën Rust, duke përdorur një variant të kufizuar të kompilerit dhe duke e konsideruar kodin si të besueshëm në kushtet (pra, pa kryer kontrollin e huazimit). Pas ndërtimit të Borrow checker-it do të krehet një ndërtim tjetër i kompilerit, por tashmë me realizimin e kontrolleve të huazimit.
Burimi: opennet.ru
