Za vključitev v vejo GCC 15 je bila predlagana vrsta popravkov, ki izboljšujejo podporo jezika Rust v vmesniku gccrs. Najbolj opazna sprememba je podpora za preverjalnik izposoje, ki temelji na komponenti Polonius, ki jo razvija osrednja ekipa Rust kot naslednjo generacijo preverjalnika izposoje.
Predlagana izvedba preverjalnika izposoje se razlikuje po tem, da je napisana v jeziku Rust in zagotavlja napredne zmožnosti preverjanja kode, kar v nekaterih primerih omogoča, da se upošteva varna koda, ki je do zdaj zahtevala označevanje s ključno besedo Unsafe zaradi omejitev privzete implementacije preverjalnika izposoje.
Rešitev, pripravljena za GCC, ima omejitve:
- Polonius se zaveda situacij, ko neka koda, ki dejansko obstaja v projektih, vodi do eksponentne rasti kompleksnosti analize.
- V primeru GCC prevajalnik gccrs trenutno zahteva, da prevajalnik Rust dokonča fazo zagona (ta omejitev bo v prihodnosti odstranjena).
Popolna izvedba samostojnega sestavljanja implicira dvostopenjsko spin-up, kjer bo GCC najprej zgradil gccrs brez preverjalnika izposoje, nato pa zgradil omenjeno izvedbo preverjalnika izposoje, napisano v jeziku Rust, z uporabo skrajšane različice prevajalnika in ob upoštevanju, da je koda pogojno zaupanja vredna (tj. brez izvajanja preverjanja izposoje). Po izgradnji preverjalnika izposoje bo izvedena še ena vnovična izdelava prevajalnika, vendar tokrat s preverjanji izposoje.
Vir: opennet.ru
