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

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

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

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

  • ืกื˜ืึทื‘ื™ืœื™ื–ืขื“ ื“ื™ ื ื•ืฆืŸ ืคื•ืŸ ืžืึทืงืจืึธื• "ืคึผืึทื ื™ืง!" ืื™ืŸ ืงืึทืžืคึผื™ื™ืœ-ืฆื™ื™ื˜ ืงืึทื ื˜ืขืงืกืฅ, ืึทื–ืึท ื•ื•ื™ "const fn" ื“ืขืงืœืขืจื™ื™ืฉืึทื ื–. ืื•ื™ืš, ืื™ืŸ ื“ืขืจืฆื• ืฆื• ื ื™ืฆืŸ "ืคึผืึทื ื™ืง!" ืื™ืŸ ืงืึธื ืกื˜ ื“ืขืงืœืขืจื™ื™ืฉืึทื ื–, ื“ื™ ื ื•ืฆืŸ ืคื•ืŸ ื“ื™ ืžืึทืงืจืึธื• "ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ!" ืื•ืŸ ืขื˜ืœืขื›ืข ืื ื“ืขืจืข ื ืึธืจืžืึทืœ ื‘ื™ื‘ืœื™ืึธื˜ืขืง ืึทืคึผื™ืก. ืกื˜ืึทื‘ื™ืœื™ื–ืึทื˜ื™ืึธืŸ ื˜ื•ื˜ ื ื™ืฉื˜ ื ืึธืš ื“ืขืงืŸ ื“ื™ ื’ืื ืฆืข ืคืึธืจืžืึทื˜ื˜ื™ื ื’ ื™ื ืคืจืึทืกื˜ืจืึทืงื˜ืฉืขืจ, ื“ืขืจื™ื‘ืขืจ, ืื™ืŸ ื–ื™ื™ืŸ ืงืจืึทื ื˜ ืคืึธืจืขื, ื“ื™ ืžืึทืงืจืึธื• "ืคึผืึทื ื™ืง!" ืงืขื ืขืŸ ื‘ืœื•ื™ื– ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ืžื™ื˜ ืกื˜ืึทื˜ื™ืง ืกื˜ืจื™ื ื’ืก (ืคึผืึทื ื™ืง!("...")), ืึธื“ืขืจ ืžื™ื˜ ืึท ืื™ื™ืŸ ื™ื ื˜ืขืจืคึผืึธืœืึทื˜ืขื“ "&str" ื•ื•ืขืจื˜ ืื™ืŸ ืกืึทื‘ืกื˜ื™ื˜ื•ืฉืึทืŸ (ืคึผืึทื ื™ืง!("{}", ืึท)), ื•ื•ืึธืก ืžื•ื–ืŸ ื–ื™ื™ืŸ ืœื™ืžื™ื˜ืขื“ ืฆื• "{ }" ืกืึทื‘ืกื˜ื™ื˜ื•ืฉืึทืŸ ืึธืŸ ืคึฟืึธืจืžืึทื˜ ืกืคึผืขืกื™ืคื™ืขืจืก ืื•ืŸ ืื ื“ืขืจืข ื˜ื™ื™ืคึผืก. ืื™ืŸ ื“ืขืจ ืฆื•ืงื•ื ืคึฟื˜, ื“ื™ ืึธื ื•ื•ืขื ื“ืœืขืš ืคื•ืŸ ืžืึทืงืจืึธืก ืื™ืŸ ืงืขืกื™ื™ื“ืขืจื“ื™ืง ืงืึทื ื˜ืขืงืกืฅ ื•ื•ืขื˜ ื–ื™ื™ืŸ ื™ืงืกืคึผืึทื ื“ื™ื“, ืึธื‘ืขืจ ื“ื™ ืกื˜ื™ื™ื‘ืึทืœื™ื™ื–ื“ ืคึฟืขื™ึดืงื™ื™ื˜ืŸ ื–ืขื ืขืŸ ืฉื•ื™ืŸ ื’ืขื ื•ื’ ืฆื• ื“ื•ืจื›ืคื™ืจืŸ ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ ื˜ืฉืขืงืก ืื™ืŸ ื“ื™ ืงืึทืžืคึผื™ื™ืœื™ื ื’ ืฆื™ื™ื˜: const _: () = assert!(std::mem::size_of:: () == 64); ืงืึธื ืกื˜ _: () = ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ! (ืกื˜ื“::ืžืขื:: ื’ืจื™ื™ืก_ืคื•ืŸ:: () == ืงืกื ื•ืžืงืก);
  • ื“ื™ ืงืึทืจื’ืึธ ืคึผืขืงืœ ืคืึทืจื•ื•ืึทืœื˜ืขืจ ืึทืœืึทื•ื– ืคึผืจืึธื•ืคื™ื™ืœื– ืžื™ื˜ ืึทืจื‘ื™ื˜ืจืึทืจื™ืฉ ื ืขืžืขืŸ, ื ื™ื˜ ืœื™ืžื™ื˜ืขื“ ืฆื• 'ื“ืขื•ื•', 'ืžืขืœื“ื•ื ื’', 'ืคึผืจื•ื‘ื™ืจืŸ' ืื•ืŸ 'ื‘ืึทื ืง'. ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืฆื• ื’ืขื‘ืŸ ืึทืคึผื˜ืึทืžืึทื–ื™ื™ืฉืึทืŸ ืื™ืŸ ื“ืขืจ ื‘ื™ื ืข ืคื•ืŸ โ€‹โ€‹ืคึฟืึทืจื‘ื™ื ื“ื•ื ื’ (ืœื˜ืึธ) ื‘ืœื•ื™ื– ื‘ืขืฉืึทืก ื“ื™ ืคืึธืจืžื™ืจื•ื ื’ ืคื•ืŸ ื“ื™ ืœืขืฆื˜ ืึทืกืขืžื‘ืœื™ื– ืคื•ืŸ ื“ื™ ืคึผืจืึธื“ื•ืงื˜, ืื™ืจ ืงืขื ืขืŸ ืžืึทื›ืŸ ื“ื™ "ืคึผืจืึธื“ื•ืงืฆื™ืข" ืคึผืจืึธืคื™ืœ ืื™ืŸ Cargo.toml ืื•ืŸ ืœื™ื™ื’ืŸ ื“ื™ "ืœื˜ืึธ = ืืžืช" ืคืึธืŸ ืฆื• ืขืก. ืื™ืŸ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืฆื™ื™ื˜, ื•ื•ืขืŸ ื“ื™ืคื™ื™ื ื™ื ื’ ื“ื™ื™ืŸ ืื™ื™ื’ืขื ืข ืคึผืจืึธื•ืคื™ื™ืœื–, ืื™ืจ ืžื•ื–ืŸ ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ืึท ื™ื’ื–ื™ืกื˜ื™ื ื’ ืคึผืจืึธืคื™ืœ ืฆื• ื™ืจืฉืขื ืขืŸ ื“ื™ ืคืขืœื™ืงื™ื™ึทื˜ ืกืขื˜ื˜ื™ื ื’ืก ืคื•ืŸ ืขืก. ื“ืขืจ ื‘ื™ื™ืฉืคึผื™ืœ ืื•ื ื˜ืŸ ืงืจื™ื™ื™ืฅ ืึท "ืคึผืจืึธื“ื•ืงืฆื™ืข" ืคึผืจืึธืคื™ืœ ื•ื•ืึธืก ื™ื ืงืจื™ืกื™ื– ื“ื™ "ืžืขืœื“ื•ื ื’" ืคึผืจืึธืคื™ืœ ื“ื•ืจืš ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ื“ื™ "ืœื˜ืึธ = ืืžืช" ืคืึธืŸ. ื“ืขืจ ืคึผืจืึธืคื™ืœ ื–ื™ืš ืื™ื– ืึทืงื˜ื™ื•ื•ื™ื™ื˜ื™ื“ ื•ื•ืขืŸ ืื™ืจ ืจื•ืคืŸ ืœืึทืกื˜ ืžื™ื˜ ื“ื™ "-ืคึผืจืึธืคื™ืœ ืคึผืจืึธื“ื•ืงืฆื™ืข" ืึธืคึผืฆื™ืข, ืื•ืŸ ื“ื™ ื‘ื•ื™ืขืŸ ืึทืจื˜ืึทืคืึทืงืฅ ื•ื•ืขื˜ ื–ื™ื™ืŸ ื’ืขืฉื˜ืขืœื˜ ืื™ืŸ ื“ื™ "ืฆื™ืœ / ืคึผืจืึธื“ื•ืงืฆื™ืข" ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ. [ืคึผืจืึธืคื™ืœ.ืคึผืจืึธื“ื•ืงืฆื™ืข] ื™ื ื›ืขืจื™ืฅ = "ืžืขืœื“ื•ื ื’" ืœื˜ืึธ = ืืžืช
  • ื“ื™ ื ื•ืฆืŸ ืคื•ืŸ try_reserve ืคึฟืึทืจ Vec, String, HashMap, HashSet ืื•ืŸ VecDeque ื˜ื™ื™ืคึผืก ืื™ื– ืกื˜ื™ื™ื‘ืึทืœื™ื™ื–ื“, ื•ื•ืึธืก ืึทืœืึทื•ื– ืื™ืจ ืฆื• ืคืึทืจ-ืจืขื–ืขืจื•ื• ืคึผืœืึทืฅ ืคึฟืึทืจ ืึท ื–ื™ื›ืขืจ ื ื•ืžืขืจ ืคื•ืŸ ืขืœืขืžืขื ื˜ืŸ ืคื•ืŸ ืึท ื’ืขื’ืขื‘ืŸ ื˜ื™ืคึผ ืฆื• ืจืขื“ื•ืฆื™ืจืŸ ื“ื™ ืึธืคื˜ืงื™ื™ึทื˜ ืคื•ืŸ ื–ื›ึผืจื•ืŸ ืึทืœืึทืงื™ื™ืฉืึทืŸ ืึทืคึผืขืจื™ื™ืฉืึทื ื– ืื•ืŸ ื•ื™ืกืžื™ื™ื“ืŸ ืงืจืึทืฉื™ื–. ืื™ืŸ ื“ืขื ืคึผืจืึธืฆืขืก ืจืขื›ื˜ ืฆื• ืคืขืœืŸ ืคื•ืŸ ื–ื›ึผืจื•ืŸ.
  • ืขืก ืื™ื– ื“ืขืจืœื•ื™ื‘ื˜ ืฆื• ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ืžืึทืงืจืึธืก ืžื™ื˜ ื’ืขื’ืจื™ื™ึทื–ืœื˜ ื‘ืจื™ื™ืกืึทื– ืื™ืŸ ืื•ื™ืกื“ืจื•ืงืŸ ื•ื•ื™ "ืž! { .. }. ืžืขื˜ืึทื“ ()" ืื•ืŸ "ืž! { .. }?".
  • ืึธืคึผื˜ื™ืžื™ื–ืขื“ ื“ื™ ื“ื•ืจื›ืคื™ืจื•ื ื’ ืคื•ืŸ ื“ื™ ื˜ืขืงืข :: read_to_end ืื•ืŸ read_to_string ืคืึทื ื’ืงืฉืึทื ื–.
  • ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื“ื™ ืื•ื ื™ืงืึธื“ ื‘ืึทืฉืจื™ื™ึทื‘ื•ื ื’ ืื™ื– ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื˜ ืฆื• ื•ื•ืขืจืกื™ืข 14.0.
  • ื™ืงืกืคึผืึทื ื“ื™ื“ ื“ื™ ื ื•ืžืขืจ ืคื•ืŸ ืคืึทื ื’ืงืฉืึทื ื– ืื ื’ืขืฆื™ื™ื›ื ื˜ ืžื™ื˜ "#[ืžื•ื–ืŸ_ื ื•ืฆืŸ]" ืฆื• ืึทืจื•ื™ืกื’ืขื‘ืŸ ืึท ื•ื•ืืจืขื ื•ื ื’ ืื•ื™ื‘ ืึท ืฆื•ืจื™ืงืงืขืจ ื•ื•ืขืจื˜ ืื™ื– ืื™ื’ื ืึธืจื™ืจื˜, ื•ื•ืึธืก ื”ืขืœืคึผืก ื›ืึทืคึผืŸ ืขืจืจืึธืจืก ื’ืขืคึฟื™ืจื˜ ื“ื•ืจืš ื“ื™ ื”ืึทืฉืึธืจืข ืึทื– ืึท ืคึฟื•ื ืงืฆื™ืข ื•ื•ืขื˜ ื˜ื•ื™ืฉืŸ ื•ื•ืึทืœื•ืขืก ืืœื ื•ื•ื™ ืฆื•ืจื™ืงืงื•ืžืขืŸ ืึท ื ื™ื™ึท ื•ื•ืขืจื˜.
  • ืฆื•ื’ืขืœื™ื™ื’ื˜ ื™ืงืกืคึผืขืจืžืขื ืึทืœ ื‘ืึทืงืขื ื“ ืคึฟืึทืจ ื“ื–ืฉืขื ืขืจื™ื™ื˜ื™ื ื’ ืงืึธื“ ื ื™ืฆืŸ libgccjit.
  • ื ื ื™ื™ึทืข ื˜ื™ื™ืœ ืคื•ืŸ ื“ื™ API ืื™ื– ืืจื™ื‘ืขืจื’ืขืคืืจืŸ ืฆื• ื“ืขืจ ืงืึทื˜ืขื’ืึธืจื™ืข ืคื•ืŸ โ€‹โ€‹ืกื˜ืึทื‘ื™ืœ, ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ื“ื™ ืžืขื˜ื”ืึธื“ืก ืื•ืŸ ื™ืžืคึผืœืึทืžืึทื ืฅ ืคื•ืŸ ื˜ืจื™ื™ืฅ ื–ืขื ืขืŸ ืกื˜ื™ื™ื‘ืึทืœื™ื™ื–ื“:
    • [ื”; N]::as_mut_slice
    • [ื”; N]::as_slice
    • ื–ืึทืžืœื•ื ื’ืขืŸ::TryReserveError
    • HashMap::try_reserve
    • HashSet::try_reserve
    • ืฉื˜ืจื™ืงืœ::try_reserve
    • ืฉื˜ืจื™ืงืœ::try_reserve_exact
    • Vec::try_reserve
    • Vec::try_reserve_exact
    • VecDeque::try_reserve
    • VecDeque::try_reserve_exact
    • ื™ื˜ืขืจืึทื˜ืึธืจ::map_while
    • iter::ืžืึทืคึผืขื•ื•ื™ืœืข
    • proc_macro :: ืื™ื–_ืึทื•ื•ืึทื™ืœืึทื‘ืœืข
    • ื‘ืึทืคึฟืขืœ :: ื‘ืึทืงื•ืžืขืŸ_ืคึผืจืึธื’ืจืึทื
    • ื‘ืึทืคึฟืขืœ::get_args
    • ื‘ืึทืคึฟืขืœ::get_envs
    • ื‘ืึทืคึฟืขืœ::get_current_dir
    • CommandArgs
    • CommandEnvs
  • ื“ื™ "const" ืึทื˜ืจื™ื‘ื™ื•ื˜, ื•ื•ืึธืก ื“ื™ื˜ืขืจืžืึทื ื– ื“ื™ ืžืขื’ืœืขื›ืงื™ื™ื˜ ืคื•ืŸ ื ื™ืฆืŸ ืขืก ืึทื ืฉื˜ืึธื˜ ืคื•ืŸ ืงืึทื ืกื˜ืึทื ืฅ ืื™ืŸ ืงื™ื™ืŸ ืงืึธื ื˜ืขืงืกื˜, ืื™ื– ื’ืขื ื™ืฆื˜ ืื™ืŸ ื“ื™ ืึธื ืฆื•ื”ืขืจืขื ื™ืฉ::unreachable_unchecked ืคึฟื•ื ืงืฆื™ืข.
  • ื™ืžืคึผืœืึทืžืขื ืึทื“ ืžื“ืจื’ื” 6 ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ armv3k-nintendo-7ds, armv68-unknown-linux-uclibceabihf, m64k-unknown-linux-gnu, aarch3-kmc-solid_asp7, armv3a-kmc-solid_asp7-eabi ืื•ืŸ armv3a-kmc-solid_abihfXNUMX platforms. ื“ื™ ื“ืจื™ื˜ ืžื“ืจื’ื” ื™ืžืคึผืœื™ื™ื– ื™ืงืขืจื“ื™ืง ืฉื˜ื™ืฆืŸ, ืึธื‘ืขืจ ืึธืŸ ืึธื˜ืึทืžื™ื™ื˜ื™ื“ ื˜ืขืกื˜ื™ื ื’, ืืจื•ื™ืกื’ืขื‘ืŸ ื‘ืึทืึทืžื˜ืขืจ ื‘ื•ื™ืขืŸ ืื•ืŸ ืงืึธื ื˜ืจืึธืœื™ืจืŸ ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ื‘ื•ื™ืขืŸ ื“ืขื ืงืึธื“.

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

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