I-Rust 1.72 sele ikhululwe kwaye ezi ziindaba zayo

umhlwa uphawu

Umhlwa yiparadigm eninzi, injongo-jikelele, ulwimi lwenkqubo oluhlanganisiweyo.

Kwiintsuku ezimbalwa ezidlulileyo yabhengezwa ukukhululwa kwenguqulelo entsha yolwimi oludumileyo lwenkqubo «Rust 1.72», inguqulo apho iimpawu ezintsha zongeziweyo, kunye nokuphuculwa, ukulungiswa kwe-bug kunye neenguqu ezahlukeneyo ezigxile ekwenzeni inkqubo yokudala ikhowudi ibe lula kwaye imanzi ngakumbi.

Kwabo bangalwaziyo olu lwimi lwenkqubo, mabayazi loo nto igxile ekukhuselweni kwememori kwaye ibonelela ngeendlela zokufezekisa ukuhambelana okuphezulu yemisebenzi ngelixa uphepha ukusetyenziswa komqokeleli wenkunkuma kunye nexesha lokuqhuba (ixesha lokuqhuba liyancitshiswa libe kukuqaliswa okusisiseko kunye nokugcinwa okusemgangathweni kwethala leencwadi).

Iindlela zokulawula inkumbulo yeRust bagcina umphuhlisi kwiimpazamo xa beqhuba izikhombisi kwaye bakhusele kwiingxaki ezivela ngenxa yokuphathwa kwememori ekwinqanaba elisezantsi, elifana nokufikelela kwindawo yenkumbulo emva kokuba ikhululiwe, ukushenxisa izalathisi ezingenanto, ukuphuphuma kwebuffer, njl. Ukusasaza amathala eencwadi, ukubonelela ngezakhiwo, kunye nokulawula ukuxhomekeka, iprojekthi iphuhlisa umphathi wephakheji yeCargo.

Iimpawu eziphambili zeRust 1.72

Kolu guqulelo lutsha oluvezwa iRust 1.72 inguqulelo enye ye uninzi lweempawu ezintsha ukuphuculwa kwe Uncedo lweziqalelo zivaliwe kusetyenziswa "cfg" iimpawu ukuhlanganiswa kwemiqathango, leyo ikuvumela ukuba uvule ukuphunyezwa kwekhowudi yeRust ngokuxhomekeke ingaba iimpawu ezithile zebhokisi zixhaswa okanye ziqhutywa kumaqonga athile.

Ngaphambili, izinto ezivaliweyo nge-cfg zazingabonakali kumqokeleli, kodwa ngoku iyatshintsha, ukusukela oko umqokeleli ngoku ugcina ulwazi olubalulekileyo oluquka amagama esiqalelo kunye neemeko zecfg. Oku kuvumela umqokeleli ukuba anike ingxelo enomdla, njengokuqaqambisa ukungafumaneki kophawu ngenxa yesidingo sokwenza uphawu oluthile lwebhokisi. Oku kunika abaphuhlisi isikhokelo esicacileyo kwaye iququzelele amava ekhowudi asebenza ngakumbi. Umzekelo, ikuvumela ukuba uqonde ukuba elinye inqaku alifumaneki ngenxa yokukhubaza iipropathi ezithile kwibhokisi.

Olunye utshintsho olubonakalayo kule nguqulo entsha ye-Rust 1.72 yile Izithintelo kwixesha lovavanyo lokubonisa rhoqo zisusiwe, Ukusukela ngaphambili, ukunqanda ukudityaniswa kwexesha elirhintyelayo, iRust yanciphisa elona nani liphezulu leentetho ezinokuphunyezwa ngexesha lovavanyo rhoqo.
Olu phawu lubangele iimpazamo xa kuqulunqwa ikhowudi engahambelaniyo kwizithintelo, ngoko kuguqulelo olutsha kwagqitywa ekubeni kuthatyathelw’ indawo imiqathango engqongqo ngesikrini esilumkisayo esixela izibalo eziqhubekayo zexesha elide. I const_eval_long_running lint check isetyenziswa ngokungagqibekanga ukubona iilophu.

Ukongeza koku, kukwaphawulwa ukuba Uluhlu lweClippy lwaphuculwa, kuba inani leetshekhi zeClippy zasiwa kumqokeleli weRustc:

  • Iidrops_manually_drops: itshintshelwe kwinqanaba lokukhanyela. Xa kuziwa kwi-ManuallyDrop, ixabiso langaphakathi alisuswa ngokuzenzekelayo. Ukucenga std::mem::ukuwisa akunasiphumo. Endaweni yoko, eli linti ngoku licebisa ukuba kusetyenziswe i-ManuallyDrop::into_inner njengolona khetho luphambili.
  • invalid_utf8_in_unvalged: ithiywe ngokutsha ukukhanyela inqanaba kunye nenqanaba lesilumkiso; invalid_from_utf8_unvalid_from_utf8. Ichonga imizekelo apho std::str::ukusuka_utf8_engakhangelwanga kwaye std::str::ukusuka_utf8_unchecked_mut zisetyenziswa nezingasebenziyo UTF-8 literals. Olu setyenziso lwaphula iimfuno zakho zokhuseleko kwaye lukhokelela kukuziphatha okungachazwanga. Le fluff ngoku ithintelwe ngokwahlukileyo.
  • uthelekiso_olungasebenziyo: ichonga uthelekiso olubandakanya f32::NAN okanye f64::NAN njengemisebenzi. Kuba iNaN iswele uthelekiso olunentsingiselo
  • invalid_reference_casting: ibalaselisa iimeko apho i&T ibe yi &mut T ngaphandle kokuthatha ithuba loguquko lwangaphakathi. Izenzo ezinjalo zikhokelela ekuziphatheni ngokukhawuleza, okungachazwanga, kungakhathaliseki ukuba ireferensi isetyenziswa okanye hayi.

Ye- Olunye utshintsho olwahlukileyo yenguqulo entsha:

  • Inxalenye entsha ye-API ihanjiswe kwinqanaba elizinzile, kubandakanywa neendlela kunye nokuphunyezwa kweempawu eziye zazinziswa.
  • Uphawu "const", olumisela ukuba kunokwenzeka ukusebenzisa i-constants kuwo nawuphi na umxholo, lusetyenziswa kwimisebenzi:
  • Kuphunyezwe inkxaso yenqanaba lesithathu kumaqonga e-loongarch64-ayaziwa-akukho nanye*. Inqanaba lesithathu libandakanya inkxaso eyisiseko, kodwa ngaphandle kovavanyo oluzenzekelayo, ukupapasha igosa lokwakha, kunye nokuqinisekisa ukukwazi ukuqokelela ikhowudi.
  • Kwinguqulelo yexesha elizayo ye-Rust 1.76, kucwangciswe ukulahla inkxaso ye-Windows 7, i-8, kunye ne-8.1 yamaqonga kwaye wenze Windows 10 inguqulelo encinci yeenjongo zombini zomqokeleli kunye nokuhlanganiswa.

Ukuba ukhona unomdla wokwazi ngakumbi ngayo, ungajonga iinkcukacha kwi eli khonkco lilandelayo.

Ekugqibeleni, kwabo banjalo Ndinomdla wokuphucula ukusuka kuguqulelo lwangaphambili lweRust efakwe nge-rustup, ungafumana inguqulelo entsha yeRust 1.72.0 nge:

rustup update stable