ืฉื—ืจื•ืจ ืฉืคืช ืชื›ื ื•ืช Rust 1.69

ืคืจืกื•ื ืฉืคืช ื”ืชื›ื ื•ืช ืœืžื˜ืจื•ืช ื›ืœืœื™ื•ืช Rust 1.69, ืฉื ื•ืกื“ื” ืขืœ ื™ื“ื™ ืคืจื•ื™ืงื˜ ืžื•ื–ื™ืœื”, ืืš ืคื•ืชื—ื” ื›ืขืช ื‘ื—ืกื•ืช ื”ืขืžื•ืชื” ื”ืขืฆืžืื™ืช Rust Foundation. ื”ืฉืคื” ืžืชืžืงื“ืช ื‘ื‘ื˜ื™ื—ื•ืช ื–ื™ื›ืจื•ืŸ ื•ืžืกืคืงืช ืืช ื”ืืžืฆืขื™ื ืœื”ืฉื’ืช ืžืงื‘ื™ืœื™ื•ืช ืขื‘ื•ื“ื” ื’ื‘ื•ื”ื” ืชื•ืš ื”ื™ืžื ืขื•ืช ืžืฉื™ืžื•ืฉ ื‘ืืกืคืŸ ืืฉืคื” ื•ื–ืžืŸ ืจื™ืฆื” (ื–ืžืŸ ื”ืจื™ืฆื” ืžืฆื˜ืžืฆื ืœืืชื—ื•ืœ ื•ืชื—ื–ื•ืงื” ื‘ืกื™ืกื™ื™ื ืฉืœ ื”ืกืคืจื™ื™ื” ื”ืกื˜ื ื“ืจื˜ื™ืช).

ืฉื™ื˜ื•ืช ื”ื˜ื™ืคื•ืœ ื‘ื–ื™ื›ืจื•ืŸ ืฉืœ Rust ื—ื•ืกื›ื•ืช ืžื”ืžืคืชื— ืฉื’ื™ืื•ืช ื‘ืขืช ืžื ื™ืคื•ืœืฆื™ื” ืฉืœ ืžืฆื‘ื™ืขื™ื ื•ืžื’ื™ื ื•ืช ืžืคื ื™ ื‘ืขื™ื•ืช ื”ืžืชืขื•ืจืจื•ืช ืขืงื‘ ื˜ื™ืคื•ืœ ื‘ื–ื™ื›ืจื•ืŸ ื‘ืจืžื” ื ืžื•ื›ื”, ื›ื’ื•ืŸ ื’ื™ืฉื” ืœืื–ื•ืจ ื–ื™ื›ืจื•ืŸ ืœืื—ืจ ืฉื—ืจื•ืจื•, ื–ื™ื”ื•ื™ ืžืฆื‘ื™ืขื™ null, ื—ืจื™ื’ื•ืช ืžืื’ืจ ื•ื›ื•'. ื›ื“ื™ ืœื”ืคื™ืฅ ืกืคืจื™ื•ืช, ืœืกืคืง ื‘ื ื™ื™ื” ื•ืœื ื”ืœ ืชืœื•ืช, ื”ืคืจื•ื™ืงื˜ ืžืคืชื— ืืช ืžื ื”ืœ ื”ื—ื‘ื™ืœื•ืช Cargo. ืžืื’ืจ crates.io ื ืชืžืš ืœืื™ืจื•ื— ืกืคืจื™ื•ืช.

ื‘ื˜ื™ื—ื•ืช ื–ื™ื›ืจื•ืŸ ืžืกื•ืคืงืช ื‘-Rust ื‘ื–ืžืŸ ื”ืงื•ืžืคื™ืœืฆื™ื” ื‘ืืžืฆืขื•ืช ื‘ื“ื™ืงืช ื”ืคื ื™ื•ืช, ืžืขืงื‘ ืื—ืจ ื‘ืขืœื•ืช ืขืœ ืื•ื‘ื™ื™ืงื˜, ืžืขืงื‘ ืื—ืจ ืžืฉืš ื—ื™ื™ื ืฉืœ ืื•ื‘ื™ื™ืงื˜ (ืกืงื•ืคื™ื), ื•ื”ืขืจื›ืช ื ื›ื•ื ื•ืช ื”ื’ื™ืฉื” ืœื–ื™ื›ืจื•ืŸ ื‘ืžื”ืœืš ื‘ื™ืฆื•ืข ืงื•ื“. Rust ืžืกืคืงืช ื’ื ื”ื’ื ื” ืžืคื ื™ ื”ืฆืคืช ืžืกืคืจื™ื ืฉืœืžื™ื, ื“ื•ืจืฉืช ืืชื—ื•ืœ ื—ื•ื‘ื” ืฉืœ ืขืจื›ื™ ืžืฉืชื ื™ื ืœืคื ื™ ื”ืฉื™ืžื•ืฉ, ืžื˜ืคืœืช ื‘ืฉื’ื™ืื•ืช ื˜ื•ื‘ ื™ื•ืชืจ ื‘ืกืคืจื™ื™ื” ื”ืกื˜ื ื“ืจื˜ื™ืช, ืžื™ื™ืฉืžืช ืืช ื”ืจืขื™ื•ืŸ ืฉืœ ื”ืคื ื™ื•ืช ื•ืžืฉืชื ื™ื ื‘ืœืชื™ ื ื™ืชื ื™ื ืœืฉื™ื ื•ื™ ื›ื‘ืจื™ืจืช ืžื—ื“ืœ, ืžืฆื™ืขื” ื”ืงืœื“ื” ืกื˜ื˜ื™ืช ื—ื–ืงื” ื›ื“ื™ ืœืžื–ืขืจ ืฉื’ื™ืื•ืช ืœื•ื’ื™ื•ืช.

ื—ื™ื“ื•ืฉื™ื ืขื™ืงืจื™ื™ื:

  • ืžื ื”ืœ ื—ื‘ื™ืœื•ืช ื”ืžื˜ืขืŸ ืžื™ื™ืฉื ื–ื™ื”ื•ื™ ืฉืœ ืื–ื”ืจื•ืช ื”ื ื™ืชื ื•ืช ืœืคืชืจื•ืŸ ืื•ื˜ื•ืžื˜ื™ ื•ืืช ื”ื”ืžืœืฆื•ืช ื”ืžืชืื™ืžื•ืช ืœื”ืคืขืœืช "ืชื™ืงื•ืŸ ืžื˜ืขืŸ" ืื• "ืžื˜ืขืŸ ืงืœื™ืคื™ --ืชื™ืงื•ืŸ". ืื–ื”ืจื”: ื™ื™ื‘ื•ื โ€‹โ€‹ืœื ื‘ืฉื™ืžื•ืฉ: 'std::hash::Hash' --> src/main.rs:1:5 | 1 | ื”ืฉืชืžืฉ ื‘-std::hash::hash; | ^^^^^^^^^^^^^^^^ | = ื”ืขืจื”: '#[warn(unused_imports)]' ืคื•ืขืœ ื›ื‘ืจื™ืจืช ืžื—ื“ืœ: 'foo' (bin "foo") ื™ืฆืจ ืื–ื”ืจื” ืื—ืช (ื”ืคืขืœ ืืช 'cargo fix --bin "foo"' ื›ื“ื™ ืœื”ื—ื™ืœ ื”ืฆืขื” ืื—ืช)
  • ื ื•ืกืฃ ืžื˜ืขืŸ ื›ื“ื™ ืœื”ืฆื™ื’ ื”ืžืœืฆื” ืœื”ืฉืชืžืฉ ื‘ืคืงื•ื“ื” "ื”ื•ืกืฃ ืžื˜ืขืŸ" ื›ืืฉืจ ืžื ืกื™ื ืœื”ืชืงื™ืŸ ืกืคืจื™ื™ื” ืขื ื”ืคืงื•ื“ื” "ื”ืชืงืŸ ืžื˜ืขืŸ".
  • ื›ื“ื™ ืœื”ืคื—ื™ืช ืืช ื–ืžืŸ ื”ืงื•ืžืคื™ืœืฆื™ื”, ืื™ืชื•ืจ ื‘ืื’ื™ื ื‘ืžื™ื“ืข ื‘ืกืงืจื™ืคื˜ื™ื ืฉืœ build ื”ื•ืฉื‘ืช ื›ื‘ืจื™ืจืช ืžื—ื“ืœ. ืื ืกืงืจื™ืคื˜ื™ ื”-build ื™ืคืขืœื• ื‘ื”ืฆืœื—ื”, ื”ืฉื™ื ื•ื™ ืœื ื™ืขืฉื” ืฉื•ื ื”ื‘ื“ืœ ื’ืœื•ื™, ืื‘ืœ ืื ื”ื•ื ื ื›ืฉืœ, ื”-backtrace dump ื™ื›ื™ืœ ืคื—ื•ืช ืžื™ื“ืข. ื›ื“ื™ ืœื”ื—ื–ื™ืจ ืืช ื”ื”ืชื ื”ื’ื•ืช ื”ื™ืฉื ื” ืœ-Cargo.toml ื”ื•ืกืฃ: [profile.dev.build-override] debug = true [profile.release.build-override] debug = true
  • ื—ืœืง ื—ื“ืฉ ืฉืœ ื”-API ื”ื•ืขื‘ืจ ืœืงื˜ื’ื•ืจื™ื” ืฉืœ ื™ืฆื™ื‘, ื›ื•ืœืœ ื”ืฉื™ื˜ื•ืช ื•ื”ื™ื™ืฉื•ื ืฉืœ ืชื›ื•ื ื•ืช ื”ืชื™ื™ืฆื‘ื•:
    • CStr::from_bytes_until_nul
    • core::ffi::FromBytesUntilNulError
  • ื”ืชื›ื•ื ื” "const", ื”ืงื•ื‘ืขืช ืืช ื”ืืคืฉืจื•ืช ืœื”ืฉืชืžืฉ ื‘ื” ื‘ื›ืœ ื”ืงืฉืจ ื‘ืžืงื•ื ื‘ืงื‘ื•ืขื™ื, ืžืฉืžืฉืช ื‘ืคื•ื ืงืฆื™ื•ืช:
    • SocketAddr::new
    • SocketAddr::ip
    • SocketAddr::port
    • SocketAddr::is_ipv4
    • SocketAddr::is_ipv6
    • SocketAddrV4::new
    • SocketAddrV4::ip
    • SocketAddrV4::port
    • SocketAddrV6::new
    • SocketAddrV6::ip
    • SocketAddrV6::port
    • SocketAddrV6::flowinfo
    • SocketAddrV6::scope_id
  • ื ื•ืกืคื” ืืช ื”ื™ื›ื•ืœืช ืœื”ืฉืชืžืฉ ื‘ื“ื’ืœื™ ืืžืช ื•ืฉืงืจ ื‘ืืจื’ื•ืžื ื˜ื™ื ืžื”ื“ืจ.

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

ื”ื•ืกืคืช ืชื’ื•ื‘ื”