Harshen shirye-shiryen tsatsa 1.43

aka buga sakin harshe na tsarin shirye-shirye Kishiya 1.43, wanda aikin Mozilla ya kafa. Harshen yana mai da hankali kan amincin ƙwaƙwalwar ajiya, yana ba da sarrafa ƙwaƙwalwar ajiya ta atomatik, kuma yana ba da kayan aiki don cimma babban aiki daidaici ba tare da amfani da mai tara shara ba lokacin gudu.

Gudanar da ƙwaƙwalwar ajiya ta atomatik na Rust yana 'yantar da mai haɓakawa daga magudin nuni kuma yana ba da kariya daga matsalolin da suka taso daga ƙananan ma'aunin ƙwaƙwalwar ajiya, kamar damar shiga ƙwaƙwalwar ajiya bayan kyauta, ɓangarorin null pointer, buffer overruns, da makamantansu. Ana haɓaka mai sarrafa fakiti don rarraba ɗakunan karatu, tabbatar da taro da sarrafa abubuwan dogaro ta hanyar aikin. ofishin, ba ku damar samun ɗakunan karatu da ake buƙata don shirin a dannawa ɗaya. Ana tallafawa wurin ajiya don ɗaukar ɗakunan karatu akwati.io.

Main sababbin abubuwa:

  • Macros suna ba da damar yin amfani da gutsure na abubuwa don juya su zuwa lamba don halaye (halaye), aiwatarwa (impl) ko tubalan waje. Misali:

    dokokin macro! mac_hali {
    ($i: abu) => {
    halin T {$i}
    }
    }
    mac_hali! {
    fn foo() {}
    }

    Zai kai ga tsara:

    sifa T {
    fn foo() {}
    }

  • Ingantattun nau'in gano abubuwan farko, nassoshi da ayyukan binary.
    Misali, lambar da ta biyo baya, wacce a baya ta haifar da kuskure, yanzu za ta iya tattarawa (Rust yanzu ta ƙayyade daidai cewa 0.0 da & 0.0 dole ne su kasance na nau'in f32):

    bari n: f32 = 0.0 + & 0.0;

  • An ƙara sabon canjin yanayi CARGO_BIN_EXE_{name} zuwa Cargo, wanda aka saita lokacin gina gwaje-gwajen haɗin kai kuma yana ba ku damar tantance cikakken hanyar zuwa fayil ɗin aiwatarwa da aka ayyana a cikin sashin “[bin]]” na kunshin.
  • Idan an yarda kalamai suyi amfani da sifofi kamar "#[cfg()]".
  • Laburaren yana ba da damar yin amfani da madanni masu alaƙa kai tsaye don lamba da nau'ikan juzu'i, ba tare da shigo da tsari ba. Misali, zaku iya rubuta u32 :: MAX ko f32 :: NAN nan da nan ba tare da fara tantance "amfani std :: u32" da "amfani std :: f32".
  • An ƙara sabon tsarin m, wanda ke sake fitar da nau'ikan Rust primitive, misali lokacin da kake buƙatar rubuta macro kuma tabbatar da cewa nau'ikan ba a ɓoye suke ba.
  • An canza wani sabon yanki na APIs zuwa tsayayyen nau'in, gami da daidaitacce

    Da zarar :: an_kammala,
    f32:: LOG10_2,
    f32:: LOG2_10,
    f64:: LOG10_2,
    f64:: LOG2_10 da
    iter:: sau daya_tare da.

source: budenet.ru

Add a comment