Umhlwa 1.69 Ukukhutshwa koLwimi lweNkqubo

Ukukhutshwa kolwimi lwenkqubo ye-Rust 1.69, 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:

  • Π’ ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π΅ Cargo Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ автоматичСски устранСны, ΠΈ Π²Ρ‹Π²ΠΎΠ΄ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΉ ΠΏΠΎ запуску Β«cargo fixΒ» ΠΈΠ»ΠΈ Β«cargo clippy β€”fixΒ». warning: unused import: β€˜std::hash::Hash’ β€”> src/main.rs:1:5 | 1 | use std::hash::Hash; | ^^^^^^^^^^^^^^^ | = note: β€˜#[warn(unused_imports)]’ on by default warning: β€˜foo’ (bin Β«fooΒ») generated 1 warning (run β€˜cargo fix β€”bin Β«fooΒ»β€˜ to apply 1 suggestion)
  • Π’ Cargo Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π²Ρ‹Π²ΠΎΠ΄ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΏΠΎ использованию ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Β«cargo addΒ» ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ установки Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Β«cargo installΒ».
  • Для сокращСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ компиляции ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² сборочных скриптах. ΠŸΡ€ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ сборочных скриптов ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π΅ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌ отличиям, Π½ΠΎ Π² случаС сбоСв Π΄Π°ΠΌΠΏ с ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ трассировкой Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ мСньшС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Для возвращСния старого повСдСния Π² Cargo.toml слСдуСт Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ: [profile.dev.build-override] debug = true [profile.release.build-override] debug = true
  • Inxalenye entsha ye-API iye yasiwa kudidi oluzinzileyo, kubandakanywa iindlela kunye nokuphunyezwa kweempawu ziye zazinziswa:
    • CStr::from_bytes_until_nul
    • core::ffi::FromBytesUntilNulError
  • Uphawu "const", olumisela ukuba kunokwenzeka ukulisebenzisa kuyo nayiphi na imeko endaweni yesigxina, lisetyenziswa kwimisebenzi:
    • SocketAddr::new
    • SocketAddr::ip
    • SocketAddr::port
    • SocketAddr::is_ipv4
    • SocketAddr::is_ipv6
    • SocketAddrV4::new
    • SocketAddrV4::ip
    • SocketAddrV4::port
    • SocketAddrV6::new
    • SocketAddrV6::ip
    • SocketAddrV6::port
    • SocketAddrV6::flowinfo
    • SocketAddrV6::scope_id
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования Ρ„Π»Π°Π³ΠΎΠ² true ΠΈ false Π² Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ… компилятора.

umthombo: opennet.ru

Yongeza izimvo