GCC frontend-ean inplementatutako maileguan egiaztatzailea Rust konpilatzailearekin

GCCrs frontend-eko Rust hizkuntzaren euskarria hobetzeko adabaki batzuk proposatu dira GCC 15 adarrean sartzeko. Aldaketa nabarmenena mailegu egiaztatzaile baten laguntza da, Polonius osagaian oinarritzen dena, Rust core taldeak mailegu egiaztatzailearen hurrengo belaunaldi gisa garatzen ari dena.

Borrow checker-en inplementazioa desberdina da Rust hizkuntzan idatzita dagoelako eta kodea egiaztatzeko gaitasun aurreratuak eskaintzen dituelako, kasu batzuetan, orain arte Unsafe gako-hitzarekin markatzea eskatzen zuen kode segurua kontuan hartzeko aukera ematen baitu Borrow checker-en ezarpen lehenetsiaren mugak direla eta.

GCCrako prestatutako irtenbideak mugak ditu:

  • Poloniusek badaki proiektuetan benetan dauden kode batzuk analisiaren konplexutasunaren hazkunde esponentziala eragiten duten egoerak.
  • GCC-ren kasuan, gccrs konpilatzaileak une honetan Rust konpilatzaileak behar du abiaraztearen fasea osatzeko (muga hau etorkizunean kenduko da).

Muntaia autonomoaren inplementazio osoa 2 etapako spin-up bat dakar, non GCC-k lehenik Borrow egiaztatzailerik gabe eraikiko dituen gccr-ak, eta ondoren Borrow egiaztatzailearen inplementazioa eraikiko du, Rust hizkuntzan idatzia, konpilatzailearen bertsio txikitu bat erabiliz eta kodea baldintzatuta fidagarria dela kontuan hartuta (hau da, mailegu egiaztapena egin gabe). Borrow egiaztatzailea eraiki ondoren, beste konpiladore bat berreraikituko da, baina oraingoan mailegu egiaztapenekin.

Iturria: opennet.ru

Gehitu iruzkin berria