Harshen shirye-shiryen tsatsa 1.65

An buga yaren shirye-shirye na Rust 1.65 na gabaɗaya, wanda aikin Mozilla ya kafa, amma yanzu an haɓaka shi a ƙarƙashin inuwar wata kungiya mai zaman kanta mai zaman kanta ta Rust Foundation. Harshen yana mai da hankali kan amincin ƙwaƙwalwar ajiya kuma yana ba da hanyoyin cimma babban daidaiton aiki yayin guje wa yin amfani da mai tara shara da lokacin aiki (an rage lokacin aiki zuwa farawa na asali da kiyaye daidaitaccen ɗakin karatu).

Hanyoyin sarrafa ƙwaƙwalwar Rust suna ceton mai haɓakawa daga kurakurai yayin sarrafa masu nuni da kuma kariya daga matsalolin da suka taso saboda ƙarancin kulawar ƙwaƙwalwar ajiya, kamar samun damar wurin ƙwaƙwalwar ajiya bayan an 'yantar da shi, cire maƙasudin null, buffer overruns, da dai sauransu. Don rarraba ɗakunan karatu, samar da gini da sarrafa abubuwan dogaro, aikin yana haɓaka manajan fakitin Kaya. Ana tallafawa ma'ajiyar crates.io don ɗaukar ɗakunan karatu.

Ana ba da amincin ƙwaƙwalwar ajiya a cikin Tsatsa a lokacin tattarawa ta hanyar duba tunani, kiyaye bin diddigin mallakar abu, kiyaye tsawon rayuwa (masu iyawa), da tantance daidaiton damar ƙwaƙwalwar ajiya yayin aiwatar da lambar. Tsatsa kuma yana ba da kariya daga ambaliya mai lamba, yana buƙatar ƙaddamar da ƙima mai mahimmanci kafin amfani, yana sarrafa kurakurai mafi kyau a cikin daidaitaccen ɗakin karatu, yana amfani da ra'ayi na nassoshi marasa canzawa da masu canji ta tsohuwa, yana ba da buga rubutu mai ƙarfi don rage kurakurai masu ma'ana.

Manyan sabbin abubuwa:

  • Ƙarin tallafi don nau'ikan haɗin gwiwa na gabaɗaya (GAT, Nau'in Associated Generic), waɗanda ke ba da damar ƙirƙirar laƙabi masu alaƙa da wani nau'in kuma yana ba ku damar haɗa nau'ikan ginin da halaye. hali Foo {nau'in Bar; }
  • An aiwatar da furcin "bari ... sauran", yana ba ku damar duba yanayin daidaitawa kai tsaye a cikin kalmar "bari" kuma ku aiwatar da lambar sabani idan tsarin bai dace ba. bari Ok (ƙidaya) = u64 :: daga_str (count_str) kuma {firgita! ("Ba za a iya rarraba lamba: '{count_str}'"); };
  • Bada damar yin amfani da bayanin hutu don fita mai suna tubalan da wuri, ta yin amfani da sunan toshe (lakabin) don gano shingen da za a ƙare. bari sakamakon = 'toshe: {yi_thing(); idan yanayin_not_met() { karya 'block 1; } yi_abu_gaba(); idan yanayin_not_met() { karya 'block 2; } yi_abu_karshe(); 3};
  • Don Linux, an ƙara ikon adana bayanan lalata daban (tsaga-debuginfo), wanda a baya akwai kawai don dandamalin macOS. Lokacin zayyana zaɓin "-Csplit-debuginfo=unpacked", za a adana bayanan debuginfo a cikin tsarin DWARF zuwa fayilolin abubuwa daban-daban tare da tsawo na ".dwo". Ƙayyade "-Csplit-debuginfo=packed" zai ƙirƙiri fakiti ɗaya a cikin tsarin ".dwp" wanda ya haɗa da duk bayanan debuginfo na aikin. Don haɗa debuginfo kai tsaye cikin sashin .debug_* na abubuwan ELF, zaku iya amfani da zaɓin "-Csplit-debuginfo=off".
  • An koma wani sabon yanki na API zuwa nau'in barga, gami da hanyoyin da aiwatar da halaye an daidaita su:
    • std :: backtrace :: Backtrace
    • Daure :: as_ref
    • std :: io :: karanta_zuwa_string
    • :: jefa_mut
    • ::cast_const
  • Ana amfani da sifa ta "const", wanda ke ƙayyade yiwuwar amfani da shi a kowane mahallin maimakon akai-akai, a cikin ayyuka :: offset_from da :: offset_from
  • A matsayin wani ɓangare na mataki na ƙarshe na canja wurin aiwatar da ka'idar LSP (Language Server Protocol) zuwa ga tsatsa-analyzer, an maye gurbin tsohuwar aiwatar da Rust Language Server (RLS) tare da uwar garken stub wanda ke ba da gargaɗi tare da shawara don canzawa zuwa. amfani da tsatsa-analyzer.
  • Yayin haɗawa, ana kunna goyan baya don tura layin layi na MIR na matsakaicin lambar, wanda ke hanzarta tattara fakitin akwatunan kwano da kashi 3-10%.
  • Don hanzarta gine-ginen da aka tsara, Manajan fakitin Cargo yana ba da rarrabuwar ayyukan da ke jiran kisa a cikin jerin gwano.

Bugu da ƙari, zaku iya lura da hirar game da amfani da yaren Rust a Volvo don haɓaka sassan tsarin bayanan mota. Babu wasu tsare-tsare don sake rubuta lambar data kasance da gwadawa a cikin Rust, amma don sabon lamba, Rust yana ɗaya daga cikin zaɓin da aka fi so don haɓaka inganci a ƙananan farashi. Hakanan an ƙirƙiri ƙungiyoyin aiki masu alaƙa da amfani da harshen Rust a cikin ƙungiyoyin kera motoci AUTOSAR (AUTomotive Open System Architecture) da SAE (Ƙungiyoyin Injiniyoyi na Motoci).

Bugu da kari, David Kleidermacher, mataimakin shugaban injiniya na Google, ya yi magana game da fassarar lambar da aka yi amfani da ita a cikin dandalin Android don sarrafa maɓallan ɓoyewa zuwa Tsatsa, da kuma amfani da Rust wajen aiwatar da DNS akan ka'idar HTTPS a cikin tari. don UWB- chips (Ultra-Wideband) kuma a cikin tsarin ƙirƙira (Tsarin Virtualization Android) mai alaƙa da guntu Tensor G2. Hakanan ana haɓaka sabbin rijiyoyin don Bluetooth da Wi-Fi, waɗanda aka sake rubutawa cikin Rust, don Android. Babban dabarar ita ce karfafa tsaro a hankali, da farko ta hanyar canza mafi rauni da mahimman abubuwan software zuwa Tsatsa, sannan faɗaɗa zuwa sauran tsarin ƙasa masu alaƙa. A bara, an haɗa yaren Rust a cikin jerin harsunan da aka ba da izini don haɓaka dandalin Android.

source: budenet.ru

Add a comment