Umhlwa 1.68 Ukukhutshwa koLwimi lweNkqubo

Ukukhutshwa kolwimi lwenkqubo ye-Rust 1.68, eyasekwa yiprojekthi ye-Mozilla, kodwa ngoku iphuhliswe phantsi kombutho ozimeleyo ongenzi nzuzo i-Rust Foundation, ipapashiwe. Ulwimi lugxininise ekukhuselweni kwememori kwaye lubonelela ngeendlela zokufikelela kwi-parallelism ephezulu yemisebenzi ngelixa ugwema ukusetyenziswa komqokeleli wenkunkuma kunye nexesha lokuqhuba (ixesha lokuqhuba liyancitshiswa ekuqaliseni okusisiseko kunye nokugcinwa kwelayibrari esemgangathweni).

Iindlela zokuphatha imemori ye-Rust zigcina umphuhlisi kwiimpazamo xa ulawula izikhombisi kwaye ukhusele kwiingxaki ezivela ngenxa yokuphathwa kwememori ekwinqanaba elisezantsi, njengokufikelela kwindawo yememori emva kokuba ikhululiwe, ukususa ireferensi yezalathisi ezingenanto, ukugqithiswa kwe-buffer, njl. Ukusasaza amathala eencwadi, ukubonelela ngokwakha kunye nokulawula ukuxhomekeka, iprojekthi iphuhlisa umphathi wephakheji yeCargo. Uvimba we-crates.io uyaxhaswa kukusingatha amathala eencwadi.

Ukhuseleko lwenkumbulo lubonelelwa kwiRust ngexesha lokudibanisa ngokujongwa kwereferensi, ukugcina umkhondo wobunini bento, ukugcina umkhondo wobomi bento (i-scopes), kunye nokuvavanya ukuchaneka kokufikelela kwimemori ngexesha lokwenziwa kwekhowudi. Umhlwa ukwabonelela ngokhuseleko ngokuchasene nokuphuphuma kwenani elipheleleyo, kufuna ukuqaliswa okunyanzelekileyo kwamaxabiso aguquguqukayo ngaphambi kokusetyenziswa, iphatha iimpazamo ngcono kwithala leencwadi elisemgangathweni, isebenzisa ingqikelelo yeembekiselo ezingenakuguquguquka kunye nezinto eziguquguqukayo ngokungagqibekanga, ibonelela ngochwethezo olomeleleyo ukuze kuncitshiswe iimpazamo ezinengqiqo.

Iinguqulelo eziphambili:

  • Umphathi wephakheji yeCargo kunye ne-crates.io repository uzinzile inkxaso yeSparse protocol, echaza indlela entsha yokusebenza kunye nesalathisi esibonisa iinguqulelo ezikhoyo zazo zonke iipakethe ezikhoyo kwindawo yokugcina. Iprothokholi entsha ikuvumela ukuba unyuse kakhulu isantya sokusebenza kunye ne-crates.io kwaye usombulule iingxaki zokulinganisa ngokukhula ngakumbi kwinani leepakethe kwindawo yokugcina.

    Ukunciphisa ukulibaziseka okubangelwa ukukhuphela isalathisi esipheleleyo, i-Sparse endaweni yokufikelela kwisalathiso usebenzisa i-Git ibandakanya ukukhuphela ngokuthe ngqo kwi-HTTPS kuphela idatha yesalathiso esiyimfuneko, egubungela ukuxhomekeka kweprojekthi ethile. Inkonzo entsha, index.crates.io, isetyenziselwa ukubonelela ngedatha yesalathisi. Ngokungagqibekanga, iprotocol entsha icwangciswe ukuba isetyenziswe kwi-Rust 1.70 yesebe, kwaye ngaphambi koko, ukuyenza, unokuseta ukuguquguquka kwemeko-bume "CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse" okanye wongeze i-'protocol =' ipharamitha kwi-"[registries. crates-io]" icandelo lefayile ye-.cargo/config.toml 'sparse'.

  • Yongeza i "pin!" macro, ekuvumela ukuba wenze iPin isakhiwo ukusuka kwintetho ethi "T" ngokucofa kwendawo yayo (ngokungafaniyo neBhokisi::iphini, ayibeki nkumbulo kwimfumba, kodwa ibopha kwinqanaba le-stack).
  • Isiphathi semposiso yonikezelo lwenkumbulo engagqibekanga sele icetyisiwe, isetyenziswe xa kusetyenziswa iphakheji eqhelekileyo yealloc. Usetyenziso oluvumela kuphela i-alloc (ngaphandle kwe-std) ngoku luyakubiza “uloyiko!” isibambi xa ulwabiwo lwenkumbulo lusilela, olunokuthi ngokuzithandela lubanjwe usebenzisa “#[panic_handler]”. Iinkqubo ezisebenzisa ilayibrari ye-std ziya kuqhubeka nokuprinta ulwazi lwemposiso kwi-stderr kunye nokuwa.
  • Inxalenye entsha ye-API iye yasiwa kudidi oluzinzileyo, kubandakanywa iindlela kunye nokuphunyezwa kweempawu ziye zazinziswa:
    • {core,std}::pin::pin!
    • impl Ukusuka ye {f32,f64}
    • std::indlela::MAIN_SEPARATOR_STR
    • impl iDerefMut yePathBuf
  • Uphawu "const", olumisela ithuba lokusebenzisa kuyo nayiphi na imeko endaweni yesigxina, isetyenziswe kwiVecDeque:: umsebenzi omtsha.
  • Ukusebenza kwi-platform ye-Android, ubuncinane i-NDK r25 (API 19) ngoku iyafuneka, okt. Ubuncinci be-Android version exhaswayo iphakanyiselwe kwi-4.4 (KitKat).
  • Inqanaba lesithathu lenkxaso liphunyeziwe kwiqonga le-Sony PlayStation Vita (armv7-sony-vita-newlibeabihf). Inqanaba lesithathu libandakanya inkxaso eyisiseko, kodwa ngaphandle kovavanyo oluzenzekelayo, ukupapasha ukwakha kwasemthethweni, okanye ukujonga ukuba ikhowudi inokwakhiwa.

umthombo: opennet.ru

Yongeza izimvo