Rust 1.55 Kutulutsa Chilankhulo cha Mapulogalamu

Kutulutsidwa kwa chinenero cha pulogalamu ya Rust 1.55, yomwe inakhazikitsidwa ndi polojekiti ya Mozilla, koma tsopano yapangidwa mothandizidwa ndi bungwe lopanda phindu la Rust Foundation, lasindikizidwa. Chilankhulochi chimayang'ana kwambiri pachitetezo cha kukumbukira, chimapereka kasamalidwe ka kukumbukira, ndipo chimapereka njira zopezera kufananiza kwakukulu kwa ntchito popanda kugwiritsa ntchito chotolera zinyalala kapena nthawi yothamanga (nthawi yothamanga imachepetsedwa kukhala yoyambira ndi kukonza laibulale yokhazikika).

Kuwongolera kukumbukira kwa Rust kumachotsa zolakwika pakuwongolera zolozera ndikutchinjiriza ku zovuta zomwe zimadza chifukwa chakuwongolera kukumbukira pang'ono, monga kulowa mdera la kukumbukira zitamasulidwa, kuchotsedwa kwa null pointer, buffer overruns, ndi zina zambiri. Kugawa malaibulale, kuwonetsetsa kusonkhana ndikuwongolera zodalira, polojekiti ikupanga woyang'anira phukusi la Cargo. Malo osungiramo crates.io amathandizidwa kuti azisunga malaibulale.

Zatsopano zazikulu:

  • Woyang'anira phukusi la Cargo amatha kuphatikiza zolakwika ndi machenjezo omwe amapezeka pakumanga. Mukamapereka malamulo monga "cargo test" ndi "cargo check --all-targets" zomwe zimapangitsa kuti phukusi lipangidwe kangapo ndi magawo osiyanasiyana, wogwiritsa ntchito tsopano akuwonetsedwa chidule cha kubwereza kwa vuto, m'malo mowonetsedwa. machenjezo angapo ofanana pomanga chinthu chomwecho mobwerezabwereza. $ katundu +1.55.0 fufuzani -zolinga zonse Kuyang'ana foo v0.1.0 chenjezo: ntchito siinagwiritsidwe ntchito: 'foo' β€”> src/lib.rs:9:4 | 9 | fn foo() {} | ^^^ | = zindikirani: '#[warn(dead_code)]' chenjezo losasinthika: 'foo' (lib) yatulutsa chenjezo limodzi: 'foo' (lib test) yatulutsa chenjezo limodzi (1 chobwereza) Ndamaliza dev [unoptimized + debuginfo] target (s) mu 1s
  • Khodi yoyandama mulaibulale yokhazikika yasunthidwa kuti igwiritse ntchito algorithm yachangu komanso yolondola kwambiri ya Eisel-Lemire, yomwe yathetsa mavuto omwe adawonedwa kale ndi manambala ozungulira ndi mawerengero okhala ndi manambala ochulukirapo.
  • Kutha kufotokozera mizere yosadziwika mu ma templates yakhazikika ("X.." imatanthauzidwa ngati mndandanda womwe umayamba ndi mtengo X ndipo umatha ndi mtengo wapamwamba wa mtundu wa chiwerengero): match x monga u32 {0 => println! ("ziro!"), 1.. => println!("nambala yabwino!"), }
  • Zosintha zolakwika zowonjezera zophatikizidwa ndi std::io::ErrorKind (zimagawa zolakwika m'magulu monga NotFound ndi WouldBlock). M'mbuyomu, zolakwika zomwe sizinali m'magulu omwe analipo zidagwera mu ErrorKind:: Gulu lina, lomwe linagwiritsidwanso ntchito pa zolakwika mu code ya chipani chachitatu. Panopa pali gulu lina lamkati la ErrorKind::Lopanda m'gulu la zolakwika zomwe sizikugwirizana ndi magulu omwe alipo, ndi ErrorKind::Gawo lina limangokhala ndi zolakwika zomwe sizimachitika mu library yokhazikika (ntchito za library zomwe zimabwerera io::Zolakwika. osagwiritsanso ntchito ErrorKind :: gulu Zina).
  • Gawo latsopano la API lasunthidwa ku gulu lokhazikika, kuphatikiza njira ndi kukhazikitsidwa kwa machitidwe akhazikika:
    • Womangidwa :: wopangidwa
    • Kukhetsa::monga_str
    • IntoInnerError::into_error
    • IntoInnerError::mu_magawo
    • MwinaUninit::assume_init_mut
    • MwinaUninit::asume_init_ref
    • MwinaUninit ::lembani
    • pa::map
    • ops::ControlFlow
    • x86::_pa
    • x86::_bittestand complement
    • x86::_bittestandreset
    • x86::_bittestandset
    • x86_64::_bittest64
    • x86_64::_bittestandcomplement64
    • x86_64::_bittestandreset64
    • x86_64::_bittestandset64
  • Chikhumbo cha "const", chomwe chimatsimikizira kuthekera kochigwiritsa ntchito mwanjira iliyonse m'malo mwa zokhazikika, chimagwiritsidwa ntchito mu str::from_utf8_unchecked njira.
  • Gawo lachitatu lothandizira lakhazikitsidwa pa nsanja ya powerpc64le-unknown-freebsd. Mulingo wachitatu umakhudzanso chithandizo choyambirira, koma popanda kuyesa kokha, kusindikiza kovomerezeka, kapena kuwona ngati code ingamangidwe.

Source: opennet.ru

Kuwonjezera ndemanga