GCC frontendes Rusti kompilaatoriga on rakendatud Borrow checker

GCC 15 versiooni lisamiseks on pakutud seeria kandeid, mis parandavad Rusti keele toetust gccrs-i esiplaanis. Kõige märgatavam muudatus on muutuja laenamise kontrollimise (borrow checker) tugi, mis on rakendatud Polonius komponendi baasil, mida arendavad Rusti põhimeeskond järgmiseks põlvkonnaks Borrow checkeriks.

E soovitatud Borrow checkeri teostus erineb seetõttu, et see on kirjutatud Rusti keeles ja pakub laiendatud koodi valideerimise võimalusi, mis võimaldavad mõnedes olukordades pidada turvaliseks (safe) koodi, mis enne nõudis Unsafe märksõna kasutamist, kuna rakendatud Borrow checkeri rakenduse vaikeseaded olid piiratud.

GCC-le valmistatud lahendusel on piirangud:

  • Poloniuse puhul on teada olukordi, kus mõni olemasolev kood projektides põhjustab analüüsi keerukuse eksponentsiaalset kasvu.
  • GCC puhul on praegu gccrs-i kompilaatori algfaasi (bootstrapping) lõpetamiseks vajalik Rusti kompilaator (tulevikus see piirang kaotatakse).

Täielik iseseisva kogumi rakendamine hõlmab 2-etapilist buildimist, kus esmalt GCC kogub gccrs-i ilma Borrow checkerita ning seejärel kogub eelmainitud Borrow checkeri rakenduse, mis on kirjutatud Rusti keeles, kasutades kärbitud kompilaatoriversiooni ja pidades koodi tinglikult usaldusväärseks (st mitte teostades laenamis kontrolli). Pärast Borrow checkeri kogumist teostatakse kompilaatori veel üks kogumine, kuid seekord laenamis kontrolliga.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster