Rust 1.42 Fa'apolokalame Gagana Fa'asa'oloto

lomia faasalalau fa'asa'olotoga gagana polokalame Ele 1.42, na faavaeina e le poloketi Mozilla. O le gagana e taulaʻi i le saogalemu o manatuaga, e maua ai le faʻaogaina o mea e manatua ai, ma tuʻuina atu meafaigaluega mo le ausiaina maualuga o galuega tutusa e aunoa ma le faʻaogaina o le lapisi ma taʻaloga.

Ole pulega otometi a le Rust e fa'asa'olotoina ai le tagata e faia le fa'aogaina o le fa'asinomaga ma puipuia mai fa'afitauli e tula'i mai i le fa'aogaina o mafaufauga maualalo, e pei ole fa'aogaina ole manatua e leai se totogi, fa'aletonu le fa'asinoala, fa'alavelave fa'alavelave, ma isi mea faapena. O lo'o fa'atupuina se pule o pusa e tufatufa faletusi, fa'amautinoa le fa'apotopotoina ma fa'afoe fa'alagolago e le poloketi. uta, e mafai ai ona e mauaina faletusi e manaʻomia mo le polokalame i le kiliki e tasi. E lagolagoina se fale teu oloa e talimalo ai faletusi crates.io.

tele mea fou:

  • Faaopoopo lagolago mo faʻataʻitaʻiga mo vaega faʻafetaui o fasi pepa (faʻasologa faʻamalosi, fasi). I le taimi muamua, na faʻatagaina tutusa tutusa, ae o lea ua mafai ona faʻaogaina mea faʻailoga ".." e ufiufi ai elemene o loʻo totoe o le laina. Faataitaiga:

    fn foo(upu: &[&str]) {
    upu fetaui {

    // siaki elemene amata o le laina ma le amanaiaina
    elemene mulimuli ia i latou
    ["Talofa", "World", "!", ..] => println!("Talofa Lalolagi!"),

    // siaki elemene muamua e lua "Foo" ma le "Bar", ma le isi e le taua
    ["Foo", "Bar", ..] => println!("Baz"),

    // le amanaia mea uma, ae o le elemene mulimuli e tatau ona "!".
    [.., “!”] => println!(“!!!”),

    // i le vaega amata matou te aofia ai mea uma sei vagana ai le elemene mulimuli, lea e tatau ona "z"
    [amata @ .., "z"] => println!("amata i le: {:?}", amata),

    // i le pito pito matou te tuʻuina mea uma sei vagana ai le elemene muamua, lea e tatau ona "a".
    ["a", fa'ai'u @ ..] => println!("fa'ai'u i le: {:?}", fa'ai'u),

    malolo => println!("{:?}", malolo),
    }
    }

  • Fa'aopoopoina se macro fou "matches!", lea e mana'omia ai se fa'aaliga ma se mamanu e fai ma fa'aoga, ma toe fa'afo'i le "moni" pe a fetaui le mamanu ma le fa'amatalaga. E mafai e le mamanu ona fa'aoga "|" gaioiga ma le "afai".

    fa'atusa ia oe.partial_cmp(isi) {
    O nisi(Le itiiti) => moni,
    _ => sese,
    }

    fetaui!(self.partial_cmp(isi), Nisi(Laiti))

    tuu foo = 'f';
    fa'amaonia!(fa'atusa!(foo, 'A'..='Z' | 'a'..='z'));

    let bar = nisi(4);
    fa'amaonia!(faatusa!(pa, Ose(x) pe afai x > 2));

  • I fe'au fa'afefe fa'aalia pe a fa'aoga sese
    ituaiga Filifiliga ma Iʻuga, faʻaalia nei numera laina ma se fesoʻotaʻiga i le code lea na faia ai le faʻalavelave faʻalavelave, nai lo fesoʻotaʻiga i le code faʻatinoina le valaau i libcore. Mo se fa'ata'ita'iga, o le suiga e a'afia ai vala'au e tatala ma fa'amoemoe i luga Filifiliga:: Leai, po'o fa'alavelave pe a fa'aogaina le unwrap_err, fa'amoemoe, expect_err, ma auala fa'apena i le ituaiga Result.

  • E tu'uina atu e le pule o pusa uta le sui otometi o le "proc_macro crate" i totonu o le poloka "fafo" mo afifi o lo'o iai macros. O lenei suiga e mafai ai ona fa'aoga le fa'atonuga "fa'aoga" i macros e aunoa ma le fa'amaotiina o le "extern crate proc_macro;" i le code. Mo se faʻataʻitaʻiga, afai e faʻaogaina e le polokalame le laina "faʻaaoga le proc_macro :: TokenStream;", o le a tumau pea le faʻaogaina o le code pe a aveese le "extern crate proc_macro;" mai ai.
  • Ua fa'alauteleina le gafatia o le faletusi masani. In iter:: Gaogao faaopoopo Lafo ma Fa'atasi le lagolago mo so'o se tau T.
    Vala'au pine::{map_unchecked, map_unchecked_mut} tuuina atu mai le toe fa'afo'i mai o se ituaiga tau mo le fa'atinoga "Sized".
    I io::Cursor faatino PartialEq ma Eq. O le uiga o le "const" e fuafua ai le avanoa e fa'aoga ai i so'o se fa'amatalaga nai lo mea tumau, fa'aaoga mo le Layout :: auala fou.

  • O se vaega fou o le API ua siitia atu i le vaega mautu, e aofia ai le CondVar mautu::wait_while, CondVar::wait_timeout_while,
    DebugMap::key, DebugMap::value,
    ManuallyDrop::ave,
    ptr :: tipi_mai_raw_parts_mut ma ptr:: fasi_from_raw_parts.

  • O le Error::description method ua le toe fa'aaogaina.
  • Tuuina atu le lagolago tulaga lua mo armv7a-none-eabi ma riscv64gc-unknown-linux-gnu platforms. Lagolago mo le faletusi masani mo le riscv64gc-unknown-linux-gnu platform ua saunia.
    Apple 32-bit platforms fa'aitiitia e oʻo atu i le tulaga lona tolu o le lagolago, o lona uiga o le lagolago faʻavae, ae aunoa ma le faʻataʻitaʻiina otometi ma faʻasalalauga o fale aloaia. O le faʻaititia o le lagolago e mafua ona ua le toe lagolagoina e Apple le 32-bit platforms.

puna: opennet.ru

Faaopoopo i ai se faamatalaga