เดฑเดธเตเดฑเตเดฑเต 1.42 เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเดฟเด‚เด—เต เดฒเดพเด‚เด—เตเดตเต‡เดœเต เดฑเดฟเดฒเต€เดธเต

เดชเตเดฐเดธเดฟเดฆเตเดงเต€เด•เดฐเดฟเดšเตเดšเต เดธเดฟเดธเตเดฑเตเดฑเด‚ เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเดฟเด‚เด—เต เดญเดพเดทเดพ เดฑเดฟเดฒเต€เดธเต เดคเตเดฐเตเดฎเตเดชเต 1.42, เดฎเต‹เดธเดฟเดฒเตเดฒ เดชเดฆเตเดงเดคเดฟ เดธเตเดฅเดพเดชเดฟเดšเตเดšเดคเต. เดญเดพเดท เดฎเต†เดฎเตเดฎเดฑเดฟ เดธเตเดฐเด•เตเดทเดฏเดฟเตฝ เดถเตเดฐเดฆเตเดง เด•เต‡เดจเตเดฆเตเดฐเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด“เดŸเตเดŸเต‹เดฎเดพเดฑเตเดฑเดฟเด•เต เดฎเต†เดฎเตเดฎเดฑเดฟ เดฎเดพเดจเต‡เดœเตเดฎเต†เดจเตเดฑเต เดจเตฝเด•เตเดจเตเดจเต, เด•เต‚เดŸเดพเดคเต† เดฎเดพเดฒเดฟเดจเตเดฏ เดถเต‡เด–เดฐเดฃเด‚ เด•เต‚เดŸเดพเดคเต† เด‰เดฏเตผเดจเตเดจ เดŸเดพเดธเตโ€Œเด•เต เดชเดพเดฐเดฒเดฒเดฟเดธเด‚ เดจเต‡เดŸเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เด‰เดชเด•เดฐเดฃเด™เตเด™เตพ เดจเตฝเด•เตเดจเตเดจเต. เดฑเตบเดŸเตˆเด‚.

เดฑเดธเตเดฑเตเดฑเดฟเดจเตเดฑเต† เด“เดŸเตเดŸเต‹เดฎเดพเดฑเตเดฑเดฟเด•เต เดฎเต†เดฎเตเดฎเดฑเดฟ เดฎเดพเดจเต‡เดœเตโ€Œเดฎเต†เดจเตเดฑเต เดกเต†เดตเดฒเดชเตเดชเดฑเต† เดชเต‹เดฏเดฟเดจเตเดฑเตผ เด•เตƒเดคเตเดฐเดฟเดฎเดคเตเดตเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดฎเต‹เดšเดฟเดชเตเดชเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดฒเต‹-เดฒเต†เดตเตฝ เดฎเต†เดฎเตเดฎเดฑเดฟ เด•เตƒเดคเตเดฐเดฟเดฎเดคเตเดตเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เด‰เดฃเตเดŸเดพเด•เตเดจเตเดจ เดชเตเดฐเดถเตโ€Œเดจเด™เตเด™เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดธเด‚เดฐเด•เตเดทเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต, เด…เดคเดพเดฏเดคเต เดซเตเดฐเต€-เดซเตเดฐเต€ เดฎเต†เดฎเตเดฎเดฑเดฟ เด†เด•เตโ€Œเดธเดธเตเดธเต, เดจเตพ เดชเต‹เดฏเดฟเดจเตเดฑเตผ เดกเดฟเดฑเดซเดฑเตปเดธเตเด•เตพ, เดฌเดซเตผ เด“เดตเตผเดฑเตบเดธเต เดคเตเดŸเด™เตเด™เดฟเดฏเดต. เดฒเตˆเดฌเตเดฐเดฑเดฟเด•เตพ เดตเดฟเดคเดฐเดฃเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเด‚ เด…เดธเด‚เดฌเตเดฒเดฟ เด‰เดฑเดชเตเดชเดพเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เดตเดดเดฟ เดกเดฟเดชเตปเดกเตปเดธเดฟเด•เตพ เด•เตˆเด•เดพเดฐเตเดฏเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดฎเดพเดฏเดฟ เด’เดฐเต เดชเดพเด•เตเด•เต‡เดœเต เดฎเดพเดจเต‡เดœเตผ เดตเดฟเด•เดธเดฟเดชเตเดชเดฟเดšเตเดšเตเด•เตŠเดฃเตเดŸเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เด•เดพเตผเด—เต‡เดพ, เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเดฟเดจเต เด†เดตเดถเตเดฏเดฎเดพเดฏ เดฒเตˆเดฌเตเดฐเดฑเดฟเด•เตพ เด’เดฑเตเดฑ เด•เตเดฒเดฟเด•เตเด•เดฟเตฝ เดฒเดญเดฟเด•เตเด•เดพเตป เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต. เดฒเตˆเดฌเตเดฐเดฑเดฟเด•เตพ เดนเต‹เดธเตเดฑเตเดฑเตเดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต เด’เดฐเต เดถเต‡เด–เดฐเด‚ เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเต crates.io.

เดชเตเดฐเดงเดพเดจ เดชเตเดคเตเดฎเด•เตพ:

  • เดšเต‡เตผเดคเตเดคเต ะฟะพะดะดะตั€ะถะบะฐ ัˆะฐะฑะปะพะฝะพะฒ ะดะปั ัะพะฟะพัั‚ะฐะฒะปะตะฝะธั ั‡ะฐัั‚ะตะน ัั€ะตะทะพะฒ (ะดะธะฝะฐะผะธั‡ะตัะบะธั… ะผะฐััะธะฒะพะฒ, slice). ะ•ัะปะธ ั€ะฐะฝัŒัˆะต ะดะพะฟัƒัะบะฐะปะธััŒ ั‚ะพั‡ะฝั‹ะต ัะพะฟะพัั‚ะฐะฒะปะตะฝะธั, ั‚ะพ ั‚ะตะฟะตั€ัŒ ะดะพะฑะฐะฒะปะตะฝะฐ ะฒะพะทะผะพะถะฝะพัั‚ัŒ ะธัะฟะพะปัŒะทะพะฒะฐะฝะธั ะบะพะฝัั‚ั€ัƒะบั†ะธะน ั ะผะตั‚ะบะพะน ยซ..ยป ะดะปั ะพั…ะฒะฐั‚ะฐ ะพัั‚ะฐัŽั‰ะธั…ัั ัะปะตะผะตะฝั‚ะพะฒ ะผะฐััะธะฒะฐ. ะะฐะฟั€ะธะผะตั€:

    fn foo(words: &[&str]) {
    match words {

    // ะฟั€ะพะฒะตั€ัะตั‚ ะฝะฐั‡ะฐะปัŒะฝั‹ะต ัะปะตะผะตะฝั‚ั‹ ะผะฐััะธะฒะฐ ั ะธะณะฝะพั€ะธั€ะพะฒะฐะฝะธะตะผ
    ัะปะตะดัƒัŽั‰ะธั… ะทะฐ ะฝะธะผะธ ัะปะตะผะตะฝั‚ะพะฒ
    [ยซHelloยป, ยซWorldยป, ยซ!ยป, ..] => println!(ยซHello World!ยป),

    // ะฟั€ะพะฒะตั€ัะตั‚ ะฟะตั€ะฒั‹ะต ะดะฒะฐ ัะปะตะผะตะฝั‚ะฐ ยซFooยป ะธ ยซBarยป, ะฐ ะพัั‚ะฐะปัŒะฝะพะต ะฝะต ะฒะฐะถะฝะพ
    [ยซFooยป, ยซBarยป, ..] => println!(ยซBazยป),

    // ะธะณะฝะพั€ะธั€ัƒะตะผ ะฒัั‘, ะฝะพ ะฟะพัะปะตะดะฝะธะน ัะปะตะผะตะฝั‚ ะดะพะปะถะตะฝ ะฑั‹ั‚ัŒ ยซ!ยป.
    [.., ยซ!ยป] => println!(ยซ!!!ยป),

    // ะฒ ัั€ะตะท start ะฒะบะปัŽั‡ะฐะตะผ ะฒัั‘, ะบั€ะพะผะต ะฟะพัะปะตะดะฝะตะณะพ ัะปะตะผะตะฝั‚ะฐ, ะบะพั‚ะพั€ั‹ะน ะดะพะปะถะตะฝ ะฑั‹ั‚ัŒ ยซzยป
    [start @ .., ยซzยป] => println!(ยซstarts with: {:?}ยป, start),

    // ะฒ ัั€ะตะท end ะฟะพะผะตั‰ะฐะตะผ ะฒัั‘, ะบั€ะพะผะต ะฟะตั€ะฒะพะณะพ ัะปะตะผะตะฝั‚ะฐ, ะบะพั‚ะพั€ั‹ะน ะดะพะปะถะตะฝ ะฑั‹ั‚ัŒ ยซaยป.
    [ยซaยป, end @ ..] => println!(ยซends with: {:?}ยป, end),

    rest => println!(ยซ{:?}ยป, rest),
    }
    }

  • ะ”ะพะฑะฐะฒะปะตะฝ ะฝะพะฒั‹ะน ะผะฐะบั€ะพั ยซmatches!ยป, ะบะพั‚ะพั€ั‹ะน ะฟั€ะธะฝะธะผะฐะตั‚ ะฝะฐ ะฒั…ะพะดะต ะฒั‹ั€ะฐะถะตะฝะธะต ะธ ัˆะฐะฑะปะพะฝ, ะฐ ะฒะพะทะฒั€ะฐั‰ะฐะตั‚ ยซtrueยป, ะตัะปะธ ัˆะฐะฑะปะพะฝ ัะพะพั‚ะฒะตั‚ัั‚ะฒัƒะตั‚ ะฒั‹ั€ะฐะถะตะฝะธัŽ. ะ’ ัˆะฐะฑะปะพะฝะต ะฒะพะทะผะพะถะฝะพ ะธัะฟะพะปัŒะทะพะฒะฐะฝะธะต ะพะฟะตั€ะฐั†ะธะน ยซ|ยป ะธ ยซifยป.

    match self.partial_cmp(other) {
    Some(Less) => true,
    _ => เดคเต†เดฑเตเดฑเต,
    }

    matches!(self.partial_cmp(other), Some(Less))

    let foo = โ€˜fโ€™;
    assert!(matches!(foo, โ€˜Aโ€™..=โ€™Zโ€™ | โ€˜aโ€™..=โ€™zโ€™));

    let bar = Some(4);
    assert!(matches!(bar, Some(x) if x > 2));

  • ะ’ panic-ัะพะพะฑั‰ะตะฝะธัั…, ะฒั‹ะฒะพะดะธะผั‹ั… ะฟั€ะธ ะฝะตะบะพั€ั€ะตะบั‚ะฝะพะผ ะธัะฟะพะปัŒะทะพะฒะฐะฝะธะธ
    ั‚ะธะฟะพะฒ Option ะธ Result, ั‚ะตะฟะตั€ัŒ ะพั‚ั€ะฐะถะฐัŽั‚ัั ะฝะพะผะตั€ะฐ ัั‚ั€ะพะบ ัะพ ััั‹ะปะบะพะน ะฝะฐ ะบะพะด, ะพััƒั‰ะตัั‚ะฒะธะฒัˆะธะน ะฟั€ะพะฑะปะตะผะฝั‹ะน ะฒั‹ะทะพะฒ, ะฐ ะฝะต ััั‹ะปะบะธ ะฝะฐ ะบะพะด ั€ะตะฐะปะธะทะฐั†ะธะธ ะฒั‹ะทะพะฒะฐ ะฒ libcore. ะะฐะฟั€ะธะผะตั€, ะธะทะผะตะฝะตะฝะธะต ะทะฐั‚ั€ะฐะณะธะฒะฐะตั‚ ะฒั‹ะทะพะฒ unwrap ะธ expect ะฝะฐะด Option::None ะธะปะธ ัะฑะพะธ ะฟั€ะธ ะธัะฟะพะปัŒะทะพะฒะฐะฝะธะธ unwrap_err, expect, expect_err ะธ ะฟะพะดะพะฑะฝั‹ั… ะผะตั‚ะพะดะพะฒ ะดะปั ั‚ะธะฟะฐ Result.

  • ะ’ ะฟะฐะบะตั‚ะฝะพะผ ะผะตะฝะตะดะถะตั€ะต Cargo ะพะฑะตัะฟะตั‡ะตะฝะฐ ะฐะฒั‚ะพะผะฐั‚ะธั‡ะตัะบะฐั ะฟะพะดัั‚ะฐะฝะพะฒะบะฐ ยซproc_macro crateยป ะฒ ะฑะปะพะบ ยซexternยป ะดะปั ะฟะฐะบะตั‚ะพะฒ ั ะฟั€ะพั†ะตะดัƒั€ะฝั‹ะผะธ ะผะฐะบั€ะพัะฐะผะธ. ะ”ะฐะฝะฝะพะต ะธะทะผะตะฝะตะฝะธะต ะฟะพะทะฒะพะปัะตั‚ ะฟั€ะธะผะตะฝัั‚ัŒ ะดะธั€ะตะบั‚ะธะฒัƒ ยซuseยป ะบ ะฟั€ะพั†ะตะดัƒั€ะฝั‹ะผ ะผะฐะบั€ะพัะฐะผ ะฑะตะท ะฝะตะพะฑั…ะพะดะธะผะพัั‚ะธ ัƒะบะฐะทะฐะฝะธั ะฒ ะบะพะดะต ยซextern crate proc_macro;ยป. ะะฐะฟั€ะธะผะตั€, ะตัะปะธ ะฒ ะฟั€ะพะณั€ะฐะผะผะต ะธัะฟะพะปัŒะทัƒะตั‚ัั ัั‚ั€ะพะบะฐ ยซuse proc_macro::TokenStream;ยป, ั‚ะพ ะบะพะด ั‚ะตะฟะตั€ัŒ ะพัั‚ะฐะฝะตั‚ัั ั€ะฐะฑะพั‡ะธะผ, ะตัะปะธ ะธะท ะฝะตะณะพ ัƒะดะฐะปะธั‚ัŒ ยซextern crate proc_macro;ยป.
  • ะ ะฐััˆะธั€ะตะฝั‹ ะฒะพะทะผะพะถะฝะพัั‚ะธ ัั‚ะฐะฝะดะฐั€ั‚ะฝะพะน ะฑะธะฑะปะธะพั‚ะตะบะธ. ะ’ iter::Empty<T> เด•เต‚เดŸเตเดŸเดฟเดšเตเดšเต‡เตผเดคเตเดคเต ะฟะพะดะดะตั€ะถะบะฐ Send ะธ Sync ะดะปั ะปัŽะฑั‹ั… ะทะฝะฐั‡ะตะฝะธะน T.
    ะ’ั‹ะทะพะฒั‹ Pin::{map_unchecked, map_unchecked_mut} เดŽเดคเตเดคเดฟเดšเตเดšเต ะพั‚ ะฝะตะพะฑั…ะพะดะธะผะพัั‚ะธ ะฒะพะทะฒั€ะฐั‰ะฐั‚ัŒ ะทะฝะฐั‡ะตะฝะธะต ั‚ะธะฟะฐ ะดะปั ั€ะตะฐะปะธะทะฐั†ะธะธ ยซSizedยป.
    ะ’ io::Cursor เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดฟ PartialEq ะธ Eq. ะŸั€ะธะทะฝะฐะบ ยซconstยป, ะพะฟั€ะตะดะตะปััŽั‰ะธะน ะฒะพะทะผะพะถะฝะพัั‚ัŒ ะธัะฟะพะปัŒะทะพะฒะฐะฝะธั ะฒ ะปัŽะฑะพะผ ะบะพะฝั‚ะตะบัั‚ะต ะฒะผะตัั‚ะพ ะบะพะฝัั‚ะฐะฝั‚, ะฟั€ะธะผะตะฝั‘ะฝ ะดะปั ะผะตั‚ะพะดะฐ Layout::new.

  • ะ’ ั€ะฐะทั€ัะด ัั‚ะฐะฑะธะปัŒะฝั‹ั… ะฟะตั€ะตะฒะตะดะตะฝะฐ ะฝะพะฒะฐั ะฟะพั€ั†ะธั API, ะฒ ั‚ะพะผ ั‡ะธัะปะต ัั‚ะฐะฑะธะปะธะทะธั€ะพะฒะฐะฝั‹ CondVar::wait_while, CondVar::wait_timeout_while,
    DebugMap::key, DebugMap::value,
    ManuallyDrop::take,
    ptr::slice_from_raw_parts_mut ะธ ptr::slice_from_raw_parts.

  • ะžะฑัŠัะฒะปะตะฝ ัƒัั‚ะฐั€ะตะฒัˆะธะผ ะผะตั‚ะพะด Error::description.
  • ะžะฑะตัะฟะตั‡ะตะฝ ะฒ ะฒั‚ะพั€ะพะน ัƒั€ะพะฒะตะฝัŒ ะฟะพะดะดะตั€ะถะธ ะดะปั ะฟะปะฐั‚ั„ะพั€ะผ armv7a-none-eabi ะธ riscv64gc-unknown-linux-gnu. ะžะฑะตัะฟะตั‡ะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ ัั‚ะฐะฝะดะฐั€ั‚ะฝะพะน ะฑะธะฑะปะธะพั‚ะตะบะธ ะดะปั ะฟะปะฐั‚ั„ะพั€ะผั‹ riscv64gc-unknown-linux-gnu.
    32-ั€ะฐะทั€ัะดะฝั‹ะต ะฟะปะฐั‚ั„ะพั€ะผั‹ Apple ะฟะพะฝะธะถะตะฝั‹ ะดะพ ั‚ั€ะตั‚ัŒะตะณะพ ัƒั€ะพะฒะฝั ะฟะพะดะดะตั€ะถะบะธ, ะบะพั‚ะพั€ั‹ะน ะฟะพะดั€ะฐะทัƒะผะตะฒะฐะตั‚ ะฑะฐะทะพะฒัƒัŽ ะฟะพะดะดะตั€ะถะบัƒ, ะฝะพ ะฑะตะท ะฐะฒั‚ะพะผะฐั‚ะธะทะธั€ะพะฒะฐะฝะฝะพะณะพ ั‚ะตัั‚ะธั€ะพะฒะฐะฝะธั ะธ ะฟัƒะฑะปะธะบะฐั†ะธะธ ะพั„ะธั†ะธะฐะปัŒะฝั‹ั… ัะฑะพั€ะพะบ. ะŸะพะฝะธะถะตะฝะธะต ัƒั€ะพะฒะฝั ะฟะพะดะดะตั€ะถะบะธ ะพะฑัƒัะปะพะฒะปะตะฝะพ ะฟั€ะตะบั€ะฐั‰ะตะฝะธะตะผ ัะพะฟั€ะพะฒะพะถะดะตะฝะธั ะบะพะผะฟะฐะฝะธะตะน Apple 32-ั€ะฐะทั€ัะดะฝั‹ั… ะฟะปะฐั‚ั„ะพั€ะผ.

เด…เดตเดฒเด‚เดฌเด‚: opennet.ru

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•