Rust 1.43 Kutulutsa Chilankhulo cha Mapulogalamu

Lofalitsidwa kutulutsidwa kwa chilankhulo cha pulogalamu yadongosolo Dzimbiri 1.43, yokhazikitsidwa ndi polojekiti ya Mozilla. Chilankhulochi chimayang'ana kwambiri pachitetezo cha kukumbukira, chimapereka kasamalidwe ka kukumbukira, ndipo chimapereka zida zogwirira ntchito limodzi popanda kugwiritsa ntchito chotolera zinyalala komanso nthawi yothamanga.

Kuwongolera kukumbukira kwa Rust kumamasula wopanga kuti asasokonezedwe ndi pointer ndikutchinjiriza ku zovuta zomwe zimadza chifukwa chakuwongolera kukumbukira kwapang'onopang'ono, monga kulowa kwa kukumbukira kwaulere, kusokoneza null pointer, buffer overruns, ndi zina zotero. Woyang'anira phukusi akupangidwa kuti azigawira malaibulale, kuwonetsetsa kusonkhanitsa ndi kuyang'anira zodalira ndi polojekiti. katundu, kukulolani kuti mupeze malaibulale ofunikira pa pulogalamuyo ndikudina kamodzi. Malo osungiramo mabuku amathandizidwa kuti azisunga malaibulale makate.io.

waukulu zatsopano:

  • Macros imapereka kuthekera kogwiritsa ntchito zidutswa za zinthu kuti zisinthe kukhala ma code a machitidwe (makhalidwe), kukhazikitsa (impl) kapena midadada yakunja. Mwachitsanzo:

    macro_rules! mac_trait {
    ($i:chinthu) => {
    chikhalidwe T {$i}
    }
    }
    mac_trait! {
    fn foo() {}
    }

    Zidzabweretsa m'badwo:

    chikhalidwe T {
    fn foo() {}
    }

  • Kuzindikirika bwino kwamtundu wa zoyambira, maumboni ndi magwiridwe antchito a binary.
    Mwachitsanzo, nambala yotsatirayi, yomwe idayambitsa zolakwika m'mbuyomu, idzatha kupanga (Rust tsopano itsimikiza kuti 0.0 ndi &0.0 iyenera kukhala yamtundu wa f32):

    lolani n: f32 = 0.0 + &0.0;

  • Kusintha kwatsopano kwa chilengedwe CARGO_BIN_EXE_{name} kwawonjezedwa ku Cargo, komwe kumayikidwa pomanga mayeso ophatikizana ndikukulolani kuti mudziwe njira yonse yopita ku fayilo yomwe ingathe kuchitidwa yomwe ili mu gawo la "[[bin]]" la phukusi.
  • Ngati mawu amaloledwa kugwiritsa ntchito zizindikiro monga "#[cfg()]".
  • Laibulale imapereka mwayi wogwiritsa ntchito zosinthika zomwe zimagwirizanitsidwa mwachindunji pamitundu yonse komanso yamagulu, popanda kuitanitsa gawo. Mwachitsanzo, mutha kulemba nthawi yomweyo u32::MAX kapena f32::NAN osatchula koyamba "gwiritsani ntchito std::u32" ndi "gwiritsani ntchito std::f32".
  • Module yatsopano yawonjezedwa zopanda pake, yomwe imatumizanso mitundu yakale ya dzimbiri, mwachitsanzo mukafunika kulemba macro ndikuwonetsetsa kuti mitunduyo sinabisike.
  • Gawo latsopano la APIs lasamutsidwa ku gulu lokhazikika, kuphatikizapo kukhazikika

    Kamodzi ::ndi_yamaliza,
    f32::LOG10_2,
    f32::LOG2_10,
    f64::LOG10_2,
    f64::LOG2_10 ndi
    iter::kamodzi_ndi.

Source: opennet.ru

Kuwonjezera ndemanga