Hoʻokuʻu ʻia ʻo Rust 1.42

paʻi ʻia hoʻokuʻu ʻōlelo hoʻolālā ʻōnaehana Popo 1.42, i hoʻokumu ʻia e ka papahana Mozilla. Hoʻopili ka ʻōlelo i ka palekana hoʻomanaʻo, hāʻawi i ka hoʻokele hoʻomanaʻo maʻalahi, a hāʻawi i nā mea paahana no ka loaʻa ʻana o ka parallelism hana kiʻekiʻe me ka hoʻohana ʻole ʻana i ka ʻohi ʻōpala a Runtime.

Hoʻokuʻu ka hoʻokele hoʻomanaʻo ʻakomi a Rust i ka mea hoʻomohala mai ka hoʻopololei ʻana i ka pointer a pale aku i nā pilikia e kū mai ana mai ka hoʻohana ʻana i ka hoʻomanaʻo haʻahaʻa haʻahaʻa, e like me ka loaʻa ʻana o ka hoʻomanaʻo ʻana ma hope o ka manuahi, ka hoʻihoʻi ʻole ʻana o ka pointer, ka hoʻonui ʻana i ka buffer, a me nā mea like. Ke kūkulu ʻia nei kahi luna pūʻolo e puʻunaue i nā hale waihona puke, e hōʻoia i ka hui ʻana a me ka mālama ʻana i nā hilinaʻi e ka papahana. waiwai, hiki iā ʻoe ke kiʻi i nā hale waihona puke e pono ai no ka papahana i hoʻokahi kaomi. Kākoʻo ʻia kahi waihona no ka mālama ʻana i nā hale waihona puke crates.io.

ka papa kuhikuhiE nā mea hou:

  • Hoʻohui ʻia kākoʻo no nā laʻana no ka hoʻohālikelike ʻana i nā ʻāpana o nā ʻāpana (nā arrays ikaika, ʻāpana). Ma mua, ua ʻae ʻia nā pāʻani pololei, akā i kēia manawa hiki ke hoʻohana i nā kūkulu i kaha ʻia ".." e uhi i nā mea i koe o ka array. ʻo kahi laʻana:

    fn foo(hua'ōlelo: &[&str]) {
    hoʻohālikelike i nā huaʻōlelo {

    // nānā i nā mea hoʻomaka o ka array a nānā ʻole
    nā mea ma hope o lākou
    ["Hello", "World", "!", ..] => println!("Aloha Honua!"),

    // nānā i nā mea mua ʻelua "Foo" a me "Bar", a ʻaʻole mea nui ke koena
    ["Foo", "Bar", ..] => println!("Baz"),

    // haʻalele i nā mea a pau, akā ʻo ka mea hope loa he "!".
    [.., “!”] => println!(“!!!”),

    // i ka ʻāpana hoʻomaka mākou e hoʻokomo i nā mea āpau koe wale ka mea hope, ʻo ia ka "z"
    [hoʻomaka @ .., "z"] => println!("hoʻomaka me: {:?}", hoʻomaka),

    // ma ka ʻāpana hope mākou e hoʻokomo i nā mea āpau koe wale ka mea mua, ʻo ia ka "a".
    ["a", hoʻopau @ ..] => println!("hoʻopau me: {:?}", hope),

    hoʻomaha => println!("{:?}", hoʻomaha),
    }
    }

  • Hoʻohui i kahi macro hou "matches!", e lawe i kahi ʻōlelo a me kahi kumu i hoʻokomo ʻia, a hoʻihoʻi i ka "ʻoiaʻiʻo" inā pili ke kumu i ka ʻōlelo. Hiki ke hoʻohana i nā hana "|". a "inā".

    hoʻolike me self.partial_cmp(ʻē aʻe) {
    Kekahi(Liss) => oiaio,
    _ => wahahee,
    }

    pili!(self.partial_cmp(other), Kekahi(emi))

    let foo = 'f';
    hōʻoia!(pāʻani!(foo, 'A'..='Z' | 'a'..='z'));

    let bar = Kekahi(4);
    hōʻoia!(pāʻani!(pa, Kekahi(x) inā x > 2));

  • Hōʻike ʻia nā memo panic inā hoʻohana hewa ʻia
    ʻano koho a me ka hopena, i kēia manawa e hōʻike i nā helu laina me kahi loulou i ke code i hana i ke kelepona pilikia, ma mua o nā loulou i ke code e hoʻokō ana i ke kelepona ma libcore. No ka laʻana, pili ka hoʻololi i nā kelepona e wehe a manaʻo ma luna o Option:: ʻAʻole, a i ʻole hāʻule i ka wā e hoʻohana ai i ka unwrap_err, expect, expect_err, a me nā ʻano like ma ke ʻano Result.

  • Hāʻawi ka Luna Hoʻokele Cargo i ka hoʻololi ʻana i ka "proc_macro crate" i loko o ka poloka "waho" no nā pūʻolo me nā macros kaʻina hana. Hiki i kēia hoʻololi ke hoʻohana i ke kuhikuhi "hoʻohana" i nā macros kaʻina hana me ka ʻole e kuhikuhi i ka "extern crate proc_macro;" ma ke code. No ka laʻana, inā hoʻohana ka papahana i ka laina "hoʻohana i ka proc_macro:: TokenStream;", a laila e hoʻomau ke code inā wehe ʻia ka "extern crate proc_macro;" mai ia mea.
  • Ua hoʻonui ʻia nā mana o ka waihona maʻamau. In iter::Hōʻokoʻa hoʻohui ʻia Hoʻouna a hoʻohui i ke kākoʻo no nā waiwai T.
    Pin kelepona::{map_unchecked, map_unchecked_mut} hāʻawi ʻia mai ka hoʻihoʻi ʻana i kahi waiwai ʻano no ka hoʻokō "Sized".
    I io:: Cursor hoʻokō ʻia PartalEq a me Eq. Hoʻoholo ka ʻano "const" i ka hiki ke hoʻohana i kekahi pōʻaiapili ma kahi o nā mea mau, pili no ka Layout::ʻano hou.

  • Ua hoʻoili ʻia kahi ʻāpana hou o ka API i ka waeʻano paʻa, me ka CondVar::wait_while, CondVar::wait_timeout_while,
    DebugMap::key, DebugMap::value,
    Hoʻokuʻu lima::lawe,
    ptr::slice_from_raw_parts_mut and ptr::slice_from_raw_parts.

  • Ua pau ka Hapa::description method.
  • Hāʻawi ʻia i ke kākoʻo pae ʻelua no armv7a-none-eabi a me riscv64gc-unknown-linux-gnu platforms. Ua hāʻawi ʻia ke kākoʻo no ka waihona maʻamau no ka platform riscv64gc-unknown-linux-gnu.
    Apple 32-bit paepae hoemiia a hiki i ke kolu o ke kākoʻo, ʻo ia hoʻi ke kākoʻo kumu, akā me ka ʻole o ka hoʻāʻo ʻana a me ka hoʻolaha ʻana i nā hale kūhelu. ʻO ka hoʻohaʻahaʻa ʻana i ke kākoʻo ma muli o Apple ʻaʻole kākoʻo hou i nā kahua 32-bit.

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka