ืจื•ืกื˜ 1.55 ืคึผืจืึธื’ืจืึทืžืžื™ื ื’ ืฉืคึผืจืึทืš ืžืขืœื“ื•ื ื’

ื“ื™ Rust 1.55 ืกื™ืกื˜ืขื ืคึผืจืึธื’ืจืึทืžืžื™ื ื’ ืฉืคึผืจืึทืš, ื’ืขื’ืจื™ื ื“ืขื˜ ื“ื•ืจืš ื“ื™ ืžืึธื–ื™ืœืœืึท ืคึผืจื•ื™ืขืงื˜ ืึธื‘ืขืจ ืื™ืฆื˜ ื“ืขื•ื•ืขืœืึธืคึผืขื“ ืื•ื ื˜ืขืจ ื“ื™ ืึธื•ืกืคึผื™ืกื™ื– ืคื•ืŸ ื“ื™ ืคืจื™ื™ึท ื ืึทืŸ-ื ื•ืฅ ืึธืจื’ืึทื ื™ื–ืึทืฆื™ืข Rust Foundation, ืื™ื– ื‘ืืคืจื™ื™ื˜. ื“ื™ ืฉืคึผืจืึทืš ืคืึธื•ืงื™ืกื™ื– ืื•ื™ืฃ ื–ื™ื›ืขืจ ื–ื›ึผืจื•ืŸ ืคืึทืจื•ื•ืึทืœื˜ื•ื ื’, ื’ื™ื˜ ืึธื˜ืึทืžืึทื˜ื™ืง ื–ื›ึผืจื•ืŸ ืคืึทืจื•ื•ืึทืœื˜ื•ื ื’, ืื•ืŸ ื’ื™ื˜ ื“ื™ ืžื™ื˜ืœ ืฆื• ื“ืขืจื’ืจื™ื™ื›ืŸ ื”ื•ื™ืš ืึทืจื‘ืขื˜ ืคึผืึทืจืึทืœืขืœื™ื–ืึทื ืื•ืŸ ื•ื™ืกืžื™ื™ื“ืŸ ื“ื™ ื ื•ืฆืŸ ืคื•ืŸ ืึท ืžื™ืกื˜ ืงืึทืœืขืงื˜ืขืจ ืื•ืŸ ืจื•ื ื˜ื™ืžืข (ืจื•ื ื˜ื™ืžืข ืื™ื– ืจื™ื“ื•ืกื˜ ืฆื• ื™ืงืขืจื“ื™ืง ื™ื ื™ื˜ื™ืึทืœื™ื–ื™ื™ืฉืึทืŸ ืื•ืŸ ื•ื™ืฉืึทืœื˜ ืคื•ืŸ ื“ื™ ื ืึธืจืžืึทืœ ื‘ื™ื‘ืœื™ืึธื˜ืขืง).

ืจื•ืกื˜ ืก ืึธื˜ืึทืžืึทื˜ื™ืง ื–ื›ึผืจื•ืŸ ืคืึทืจื•ื•ืึทืœื˜ื•ื ื’ ืกืึทื•ื•ืขืก ื“ื™ ื“ืขื•ื•ืขืœืึธืคึผืขืจ ืคื•ืŸ ืขืจืจืึธืจืก ื•ื•ืขืŸ ืžืึทื ื™ืคึผื™ืึทืœื™ื™ื˜ื™ื ื’ ืคึผื•ื™ื ื˜ืขืจื– ืื•ืŸ ืคึผืจืึทื˜ืขืงืฅ ืงืขื’ืŸ ืคืจืื‘ืœืขืžืขืŸ ื•ื•ืึธืก ืฉื˜ื™ื™ืขืŸ ืจืขื›ื˜ ืฆื• ื ื™ื“ืขืจื™ืง-ืžื“ืจื’ื” ื–ื›ึผืจื•ืŸ ืžืึทื ื™ืคึผื™ืึทืœื™ื™ืฉืึทืŸ, ืึทื–ืึท ื•ื•ื™ ืึทืงืกืขืก ืึท ื–ื›ึผืจื•ืŸ ื’ืขื’ื ื˜ ื ืึธืš ื‘ืืคืจื™ื™ื˜, ื“ืขืจืคื™ืจืึทื ืกื™ื ื’ ื ืึทืœ ืคึผื•ื™ื ื˜ืขืจื–, ื‘ืึทืคืขืจ ืึธื•ื•ื•ืขืจืจืึทื ื–, ืขื˜ืง. ืฆื• ืคืึทืจืฉืคึผืจื™ื™ื˜ืŸ ืœื™ื™ื‘ืจืขืจื™ื–, ืฆื•ืฉื˜ืขืœืŸ ื‘ื•ื™ืขืŸ ืื•ืŸ ืคื™ืจืŸ ื“ื™ืคึผืขื ื“ืึทื ืกื™ื–, ื“ื™ ืคึผืจื•ื™ืขืงื˜ ื“ืขื•ื•ืขืœืึธืคึผืก ื“ื™ ืงืึทืจื’ืึธ ืคึผืขืงืœ ืคืึทืจื•ื•ืึทืœื˜ืขืจ. ื“ื™ crates.io ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™ ืื™ื– ื’ืขืฉื˜ื™ืฆื˜ ืคึฟืึทืจ ื”ืึธืกื˜ื™ื ื’ ืœื™ื™ื‘ืจืขืจื™ื–.

ื”ื•ื™ืคึผื˜ ื—ื™ื“ื•ืฉื™ื:

  • ื“ื™ ืงืึทืจื’ืึธ ืคึผืขืงืœ ืคืึทืจื•ื•ืึทืœื˜ืขืจ ื”ืื˜ ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ืฆื•ื ื•ื™ืคื’ื™ืกืŸ ื“ื•ืคึผืœื™ืงืึทื˜ ืขืจืจืึธืจืก ืื•ืŸ ื•ื•ืึธืจื ื™ื ื’ื– ื•ื•ืึธืก ืคืึทืœืŸ ื‘ืขืฉืึทืก ืึท ื‘ื•ื™ืขืŸ. ื•ื•ืขืŸ ืขืงืกืึทืงื™ื•ื˜ื™ื ื’ ืงืึทืžืึทื ื“ื– ืึทื–ืึท ื•ื•ื™ "ืœืึทืกื˜ ืคึผืจื•ื‘ื™ืจืŸ" ืื•ืŸ "ืœืึทืกื˜ ื˜ืฉืขืง --ืึทืœืข-ื˜ืึทืจื’ืึทืฅ" ื•ื•ืึธืก ืจืขื–ื•ืœื˜ืึทื˜ ืื™ืŸ ืงื™ื™ืคืœ ื‘ื•ื™ืขืŸ ืคื•ืŸ ืึท ืคึผืขืงืœ ืžื™ื˜ ืคืึทืจืฉื™ื“ืขื ืข ืคึผืึทืจืึทืžืขื˜ืขืจืก, ื“ืขืจ ื‘ืึทื ื™ืฆืขืจ ืื™ื– ืื™ืฆื˜ ื’ืขื•ื•ื™ื–ืŸ ืึท ืงื™ืฆืขืจ ืคื•ืŸ ื“ื™ ืคึผืึทืกื™ืจื•ื ื’ ืคื•ืŸ ืึท ืจื™ืคึผื™ื˜ื™ื ื’ ืคึผืจืึธื‘ืœืขื, ืึทื ืฉื˜ืึธื˜ ืคื•ืŸ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื–ืŸ ืงื™ื™ืคืœ ื™ื™ื“ืขื ื™ืงืึทืœ ื•ื•ืึธืจื ื™ื ื’ื– ื•ื•ืขืŸ ื‘ื•ื™ืขืŸ ื“ื™ ื–ืขืœื‘ืข ื–ืึทืš ืจื™ืคึผื™ื˜ื™ื“ืœื™. $ ืœืึทืกื˜ +1.55.0 ื˜ืฉืขืง โ€”ืึทืœืข-ื˜ืึทืจื’ืึทืฅ ืงืึธื ื˜ืจืึธืœื™ืจื•ื ื’ foo v0.1.0 ื•ื•ืืจืขื ื•ื ื’: ืคึฟื•ื ืงืฆื™ืข ืื™ื– ืงื™ื™ื ืžืึธืœ ื’ืขื ื™ืฆื˜: 'ืคื•' โ€”> src/lib.rs:9:4 | 9 | fn foo() {} | ^^^ | = ื˜ืึธืŸ: '#[ื•ื•ืึทืจืŸ (ื“ืขืึทื“_ืงืึธื“ืข)]' ืื•ื™ืฃ ื“ื•ืจืš ืคืขืœื™ืงื™ื™ึทื˜ ื•ื•ืืจืขื ื•ื ื’: 'ืคืึธืึธ' (ืœื™ื‘) ื“ื–ืฉืขื ืขืจื™ื™ื˜ืึทื“ 1 ื•ื•ืืจืขื ื•ื ื’ ื•ื•ืืจืขื ื•ื ื’: 'ืคืึธืึธ' (ืœื™ื‘ ื˜ืขืกื˜) ื“ื–ืฉืขื ืขืจื™ื™ื˜ืึทื“ 1 ื•ื•ืืจืขื ื•ื ื’ (1 ื“ื•ืคึผืœื™ืงืึทื˜) ืคืึทืจื˜ื™ืง ื“ืขื•ื• [ื•ื ืึธืคึผื˜ื™ืžื™ื–ืขื“ + ื“ืขื‘ื•ื’ื™ื ืคืึธ] ืฆื™ืœ (s) ืื™ืŸ 0.84 ืก
  • ื“ื™ ืคืœืึธื•ื˜ื™ื ื’ ืคื•ื ื˜ ืคึผืึทืจืกื™ื ื’ ืงืึธื“ ืื™ืŸ ื“ื™ ื ืึธืจืžืึทืœ ื‘ื™ื‘ืœื™ืึธื˜ืขืง ืื™ื– ืืจื™ื‘ืขืจื’ืขืคืืจืŸ ืฆื• ื ื•ืฆืŸ ื“ื™ ืคืึทืกื˜ืขืจ ืื•ืŸ ืžืขืจ ืคึผื™ื ื˜ืœืขืš Eisel-Lemire ืึทืœื’ืขืจื™ื“ืึทื, ื•ื•ืึธืก ื”ืื˜ ืกืึทืœื•ื•ื“ ืขื˜ืœืขื›ืข ืคืจื™ืขืจ ื‘ืืžืขืจืงื˜ ืคึผืจืึธื‘ืœืขืžืก ืžื™ื˜ ืจืึทื•ื ื“ื™ื ื’ ืื•ืŸ ืคึผืึทืจืกื™ื ื’ ื ื•ืžืขืจืŸ ืžื™ื˜ ื–ื™ื™ืขืจ ื’ืจื•ื™ืก ื ื•ืžืขืจ ืคื•ืŸ ื“ื™ื“ื–ืฉืึทืฅ.
  • ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ืึทื ืงืœืึธื•ื–ื“ ืจื™ื™ื ื“ื–ืฉืึทื– ืื™ืŸ ื˜ืขืžืคึผืœืึทื˜ืขืก ืื™ื– ืกื˜ื™ื™ื‘ืึทืœื™ื™ื–ื“ ("X.." ืื™ื– ื™ื ื˜ืขืจืคึผืจืึทื˜ืึทื“ ื•ื•ื™ ืึท ืงื™ื™ื˜ ื•ื•ืึธืก ืกื˜ืึทืจืฅ ืžื™ื˜ ื“ื™ ื•ื•ืขืจื˜ X ืื•ืŸ ืขื ื“ืก ืžื™ื˜ ื“ื™ ืžืึทืงืกื™ืžื•ื ื•ื•ืขืจื˜ ืคื•ืŸ ื“ื™ ื™ื ื˜ืึทื“ื–ืฉืขืจ ื˜ื™ืคึผ): match x as u32 {0 => println! ("ื ื•ืœ!"), 1.. => println! ("positive ื ื•ืžืขืจ!"), }
  • ื™ืงืกืคึผืึทื ื“ื™ื“ ื˜ืขื•ืช ื•ื•ืขืจื™ืึทื ืฅ ื‘ืื“ืขืงื˜ ื“ื•ืจืš std :: io :: ErrorKind (ืงืœืึทืกืึทืคื™ื™ื– ืขืจืจืึธืจืก ืื™ืŸ ืงืึทื˜ืขื’ืึธืจื™ืขืก ืึทื–ืึท ื•ื•ื™ NotFound ืื•ืŸ WouldBlock). ืคืจื™ืขืจ, ืขืจืจืึธืจืก ื•ื•ืึธืก ื”ืึธื‘ืŸ ื ื™ืฉื˜ ืคึผืึทืกื™ืง ืื™ืŸ ื™ื’ื–ื™ืกื˜ื™ื ื’ ืงืึทื˜ืขื’ืึธืจื™ืขืก ื’ืขืคืืœืŸ ืื™ืŸ ื“ื™ ErrorKind :: ืื ื“ืขืจืข ืงืึทื˜ืขื’ืึธืจื™ืข, ื•ื•ืึธืก ืื™ื– ืื•ื™ืš ื’ืขื ื™ืฆื˜ ืคึฟืึทืจ ืขืจืจืึธืจืก ืื™ืŸ ื“ืจื™ื˜-ืคึผืึทืจื˜ื™ื™ ืงืึธื“. ืขืก ืื™ื– ืื™ืฆื˜ ืึท ื‘ืึทื–ื•ื ื“ืขืจ ื™ื ืขืจืœืขืš ืงืึทื˜ืขื’ืึธืจื™ืข ErrorKind :: ื•ื ืงืึทื˜ืขื’ืึธืจื™ื–ืขื“ ืคึฟืึทืจ ืขืจืจืึธืจืก ื•ื•ืึธืก ื˜ืึธืŸ ื ื™ื˜ ืคึผืึทืกื™ืง ืื™ืŸ ื™ื’ื–ื™ืกื˜ื™ื ื’ ืงืึทื˜ืขื’ืึธืจื™ืขืก, ืื•ืŸ ื“ื™ ErrorKind :: ืื ื“ืขืจืข ืงืึทื˜ืขื’ืึธืจื™ืข ืื™ื– ืœื™ืžื™ื˜ืขื“ ืฆื• ืขืจืจืึธืจืก ื•ื•ืึธืก ื˜ืึธืŸ ื ื™ื˜ ืคืึทืœืŸ ืื™ืŸ ื“ื™ ื ืึธืจืžืึทืœ ื‘ื™ื‘ืœื™ืึธื˜ืขืง (ื ืึธืจืžืึทืœ ื‘ื™ื‘ืœื™ืึธื˜ืขืง ืคืึทื ื’ืงืฉืึทื ื– ื•ื•ืึธืก ืฆื•ืจื™ืงืงื•ืžืขืŸ io :: ื˜ืขื•ืช ื ื™ื˜ ืžืขืจ ื ื•ืฆืŸ ื“ื™ ErrorKind:: ืงืึทื˜ืขื’ืึธืจื™ืข ืื ื“ืขืจืข).
  • ื ื ื™ื™ึทืข ื˜ื™ื™ืœ ืคื•ืŸ ื“ื™ API ืื™ื– ืืจื™ื‘ืขืจื’ืขืคืืจืŸ ืฆื• ื“ืขืจ ืงืึทื˜ืขื’ืึธืจื™ืข ืคื•ืŸ โ€‹โ€‹ืกื˜ืึทื‘ื™ืœ, ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ื“ื™ ืžืขื˜ื”ืึธื“ืก ืื•ืŸ ื™ืžืคึผืœืึทืžืึทื ืฅ ืคื•ืŸ ื˜ืจื™ื™ืฅ ื–ืขื ืขืŸ ืกื˜ื™ื™ื‘ืึทืœื™ื™ื–ื“:
    • ื’ืขื‘ื•ื ื“ืŸ::ืงืœืึธื ืขื“
    • ืคืœื™ืกืŸ::as_str
    • IntoInnerError::into_error
    • IntoInnerError::into_parts
    • MaybeUninit::assume_init_mut
    • MaybeUninit::assume_init_ref
    • MaybeUninit :: ืฉืจื™ื™ึทื‘ืŸ
    • ืžืขื ื’ืข :: ืžืึทืคึผืข
    • ops::ControlFlow
    • x86::_ื‘ื™ื˜ื˜ืขืกื˜
    • x86::_bittestandcomplement
    • x86::_bittestandreset
    • x86::_bittestandset
    • x86_64::_bittest64
    • x86_64::_bittestandcomplement64
    • x86_64::_bittestandreset64
    • x86_64::_bittestandset64
  • ื“ื™ "const" ืึทื˜ืจื™ื‘ื™ื•ื˜, ื•ื•ืึธืก ื“ื™ื˜ืขืจืžืึทื ื– ื“ื™ ืžืขื’ืœืขื›ืงื™ื™ื˜ ืคื•ืŸ ื ื™ืฆืŸ ืขืก ืื™ืŸ ืงื™ื™ืŸ ืงืึธื ื˜ืขืงืกื˜ ืึทื ืฉื˜ืึธื˜ ืคื•ืŸ ืงืึทื ืกื˜ืึทื ืฅ, ืื™ื– ื’ืขื ื™ืฆื˜ ืื™ืŸ ื“ื™ str::from_utf8_unchecked ืื•ืคึฟืŸ.
  • ื“ื™ ื“ืจื™ื˜ ืžื“ืจื’ื” ืคื•ืŸ ืฉื˜ื™ืฆืŸ ืื™ื– ื™ืžืคึผืœืึทืžืขื ืึทื“ ืคึฟืึทืจ ื“ื™ powerpc64le-unknown-freebsd ืคึผืœืึทื˜ืคืึธืจืžืข. ื“ื™ ื“ืจื™ื˜ ืžื“ืจื’ื” ื™ื ื•ื•ืึทืœื•ื•ื– ื™ืงืขืจื“ื™ืง ืฉื˜ื™ืฆืŸ, ืึธื‘ืขืจ ืึธืŸ ืึธื˜ืึทืžื™ื™ื˜ื™ื“ ื˜ืขืกื˜ื™ื ื’, ืืจื•ื™ืกื’ืขื‘ืŸ ื‘ืึทืึทืžื˜ืขืจ ื‘ื•ื™ืขืŸ ืึธื“ืขืจ ืงืึธื ื˜ืจืึธืœื™ืจืŸ ืฆื™ ื“ื™ ืงืึธื“ ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื‘ื•ื™ื˜.

ืžืงื•ืจ: opennet.ru

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’