Rust 1.40 αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž—αžΆαžŸαžΆαžŸαžšαžŸαŸαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈ

αž”αŸ„αŸ‡αž–αž»αž˜αŸ’αž–αž•αŸ’αžŸαžΆαž™ αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž—αžΆαžŸαžΆαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αŸ’αžšαž–αŸαž“αŸ’αž’ αž…αŸ’αžšαŸ‚αŸ‡ αŸ‘αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αžŠαŸ„αž™αž‚αž˜αŸ’αžšαŸ„αž„ Mozilla αŸ” αž—αžΆαžŸαžΆαž•αŸ’αžαŸ„αžαž›αžΎαžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αž“αŸƒαž€αžΆαžšαž…αž„αž…αžΆαŸ† αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž· αž“αž·αž„αž•αŸ’αžαž›αŸ‹αž§αž”αž€αžšαžŽαŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžŸαž˜αŸ’αžšαŸαž…αž”αžΆαž“αž“αžΌαžœαž€αž·αž…αŸ’αž…αž€αžΆαžšαžŸαŸ’αžšαž”αž‚αŸ’αž“αžΆαžαŸ’αž–αžŸαŸ‹αžŠαŸ„αž™αž˜αž·αž“αž”αŸ’αžšαžΎαž§αž”αž€αžšαžŽαŸαž”αŸ’αžšαž˜αžΌαž›αžŸαŸ†αžšαžΆαž˜ αž“αž·αž„ αž–αŸαž›αžšαžαŸ‹.

αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αžšαž”αžŸαŸ‹ Rust αžŠαŸ„αŸ‡αž›αŸ‚αž„αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž–αžΈαž§αž”αžΆαž™αž€αž›αž…αž„αŸ’αž’αž»αž› αž“αž·αž„αž€αžΆαžšαž–αžΆαžšαž”αŸ’αžšαž†αžΆαŸ†αž„αž“αžΉαž„αž”αž‰αŸ’αž αžΆαžŠαŸ‚αž›αž€αžΎαžαž‘αžΎαž„αž–αžΈαž€αžΆαžšαžšαŸ€αž”αž…αŸ†αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αž€αž˜αŸ’αžšαž·αžαž‘αžΆαž” αžŠαžΌαž…αž‡αžΆαž€αžΆαžšαž…αžΌαž›αž”αŸ’αžšαžΎαž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αž€αŸ’αžšαŸ„αž™αž‘αŸ†αž“αŸαžš αž€αžΆαžšαž”αžŠαž·αžŸαŸαž’αž‘αŸ’αžšαž“αž·αž…αž‘αž‘αŸ αž€αžΆαžšαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž›αžΎαžŸαž…αŸ†αžŽαž»αŸ‡ αž“αž·αž„αž’αŸ’αžœαžΈαŸ—αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαŸ” αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž€αž‰αŸ’αž…αž”αŸ‹αž€αŸ†αž–αž»αž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αžŠαžΎαž˜αŸ’αž”αžΈαž…αŸ‚αž€αž…αžΆαž™αž”αžŽαŸ’αžŽαžΆαž›αŸαž™ αž’αžΆαž“αžΆαž€αžΆαžšαž”αŸ’αžšαž˜αžΌαž›αž•αŸ’αžαž»αŸ† αž“αž·αž„αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž—αžΆαž–αž’αžΆαžŸαŸ’αžšαŸαž™αžŠαŸ„αž™αž‚αž˜αŸ’αžšαŸ„αž„αŸ” αž‘αžΉαž€αž’αžΆαž€αžΆαžŸαž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž‘αž‘αž½αž›αž”αžΆαž“αž”αžŽαŸ’αžŽαžΆαž›αŸαž™αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž€αžΆαžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ„αž™αž…αž»αž…αžαŸ‚αž˜αŸ’αžαž„αŸ” αžƒαŸ’αž›αžΆαŸ†αž„αž˜αž½αž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αž„αŸ’αž αŸ„αŸ‡αž”αžŽαŸ’αžŽαžΆαž›αŸαž™ crates.io.

αžŸαŸ†αžαžΆαž“αŸ‹ αž€αžΆαžšαž…αŸ’αž“αŸƒαž”αŸ’αžšαžŒαž·αž:

  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αžŸαž˜αžαŸ’αžαž—αžΆαž–αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ (αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’) αž“αž·αž„αž€αžΆαžšαžšαžΆαž”αŸ‹αž…αŸ†αž“αž½αž“ (enum αž‡αžΆαž˜αž½αž™αž”αŸ’αž›αž»αž€αžœαŸ‰αžΆαžšαŸ’αž™αž„αŸ‹) αžŠαŸ„αž™αž”αŸ’αžšαžΎαž‚αž»αžŽαž›αž€αŸ’αžαžŽαŸˆ "#[αž˜αž·αž“αž αžαŸ‹αž“αžΏαž™]", αžŠαŸ‚αž› αžœαžΆαž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™ αž“αŸ…αž–αŸαž›αž’αž“αžΆαž‚αž αž”αž“αŸ’αžαŸ‚αž˜αžœαžΆαž› αž“αž·αž„αž‡αž˜αŸ’αžšαžΎαžŸαžαŸ’αž˜αžΈαž‘αŸ…αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžŠαŸ‚αž›αž”αžΆαž“αž”αŸ’αžšαž€αžΆαžŸ αž“αž·αž„αž€αžΆαžšαžšαžΆαž”αŸ‹αž”αž‰αŸ’αž…αžΌαž›αŸ” αž§αž‘αžΆαž αžšαžŽαŸ αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž˜αŸ‰αžΌαžŒαž»αž›αžŠαŸ‚αž›αž˜αžΆαž“αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž‡αžΆαž˜αž½αž™αžœαžΆαž›αžŠαŸ‚αž›αž”αžΆαž“αž”αŸ’αžšαž€αžΆαžŸαž‡αžΆαžŸαžΆαž’αžΆαžšαžŽαŸˆαž’αžΆαž…αž”αŸ’αžšαžΎ "#[non_exhaustive]" αžŠαžΎαž˜αŸ’αž”αžΈαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžŠαŸ‚αž›αž’αžΆαž…αž˜αžΆαž“αžœαžΆαž›αžαŸ’αž˜αžΈαž”αž“αŸ’αžαŸ‚αž˜αž“αžΆαž–αŸαž›αž’αž“αžΆαž‚αžαŸ” αžšαž αžΌαžαž˜αž€αžŠαž›αŸ‹αž–αŸαž›αž“αŸαŸ‡ αž€αŸ’αž“αž»αž„αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž“αŸαŸ‡ αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αžαŸ†αž±αŸ’αž™αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαžšαžœαžΆαž„αž€αžΆαžšαž”αŸ’αžšαž€αžΆαžŸαžœαžΆαž›αž‡αžΆαž›αž€αŸ’αžαžŽαŸˆαž―αž€αž‡αž“ αž“αž·αž„αž€αžΆαžšαž…αž„αž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ…αž“αžΉαž„αž”αž‰αŸ’αž‡αžΈαž“αŸƒαžœαžΆαž›αžŠαŸ‚αž›αž˜αž·αž“αž’αžΆαž…αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž”αžΆαž“αŸ” αž‚αž»αžŽαž›αž€αŸ’αžαžŽαŸˆαžαŸ’αž˜αžΈαžŠαž€αžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹αž“αŸαŸ‡αž…αŸαž‰ αž“αž·αž„αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž”αž“αŸ’αžαŸ‚αž˜αžœαžΆαž›αžαŸ’αž˜αžΈαž“αžΆαž–αŸαž›αž’αž“αžΆαž‚αžαžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“αž αžΆαž“αž·αž—αŸαž™αž“αŸƒαž€αžΆαžšαž”αŸ†αž”αŸ‚αž€αž€αžΌαžŠαžαžΆαž„αž€αŸ’αžšαŸ…αžŠαŸ‚αž›αž”αžΆαž“αž…αž„αž€αŸ’αžšαž„αž–αžΈαž˜αž»αž“αŸ” αž“αŸ…αž€αŸ’αž“αž»αž„αž€αž‰αŸ’αž…αž”αŸ‹ crate αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž‡αž˜αŸ’αžšαžΎαžŸαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž‚αŸ’αž“αžΆαž“αŸ…αž€αŸ’αž“αž»αž„αž•αŸ’αž“αŸ‚αž€ "match" αžαž˜αŸ’αžšαžΌαžœαž±αŸ’αž™αž€αŸ†αžŽαžαŸ‹αž“αž·αž™αž˜αž“αŸαž™αž…αŸ’αž”αžΆαžŸαŸ‹αž›αžΆαžŸαŸ‹αž“αŸƒαžšαž”αžΆαŸ†αž„ "_ => {...}" αžŠαŸ‚αž›αž‚αŸ’αžšαž”αžŠαžŽαŸ’αžαž”αŸ‹αž›αžΎαžœαžΆαž›αžŠαŸ‚αž›αž’αžΆαž…αž˜αžΆαž“αž“αžΆαž–αŸαž›αž’αž“αžΆαž‚αž αž”αžΎαž˜αž·αž“αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž‘αŸ αž€αŸ†αž αž»αžŸαž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž αžΆαž‰αž“αŸ…αž–αŸαž›αž”αž“αŸ’αžαŸ‚αž˜αžœαžΆαž›αžαŸ’αž˜αžΈαŸ”
  • αž”αž“αŸ’αžαŸ‚αž˜ αžŸαž˜αžαŸ’αžαž—αžΆαž–αž€αŸ’αž“αž»αž„αž€αžΆαžšαž αŸ…αž˜αŸ‰αžΆαž€αŸ’αžšαžΌ mac!() αž“αŸ…αž€αŸ’αž“αž»αž„αž”αžšαž·αž”αž‘αž”αŸ’αžšαž—αŸαž‘αŸ” αž§αž‘αžΆαž αžšαžŽαŸ αž₯αž‘αžΌαžœαž’αŸ’αž“αž€αž’αžΆαž…αžŸαžšαžŸαŸαžš β€œtype Foo = expand_to_type!(bar);” αž”αŸ’αžšαžŸαž·αž“αž”αžΎ β€œexpand_to_type” αž‡αžΆαž˜αŸ‰αžΆαž€αŸ’αžšαžΌαž“αžΈαžαž·αžœαž·αž’αžΈαŸ”
  • αž“αŸ…αž€αŸ’αž“αž»αž„αž”αŸ’αž›αž»αž€ "extern { ... }" αž”αž“αŸ’αžαŸ‚αž˜ αž›αž‘αŸ’αž’αž—αžΆαž–αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž˜αŸ‰αžΆαž€αŸ’αžšαžΌαž“αžΈαžαž·αžœαž·αž’αžΈ αž“αž·αž„αž‚αž»αžŽαž›αž€αŸ’αžαžŽαŸˆ αžšαž½αž˜αž‘αžΆαŸ†αž„αž˜αŸ‰αžΆαž€αŸ’αžšαžΌ "bang!()" αž§αž‘αžΆαž αžšαžŽαŸαŸ–

    αž˜αŸ‰αžΆαž€αŸ’αžšαžΌ_αž…αŸ’αž”αžΆαž”αŸ‹! make_item { ($name:ident) => { fn $name(); } }

    αžαžΆαž„αž€αŸ’αžšαŸ… {
    make_item!(αž’αžΆαž›αŸ‹αž αŸ’αžœαžΆ);
    make_item!(αž”αŸαžαžΆ);
    }

    αžαžΆαž„αž€αŸ’αžšαŸ… "C" {
    #[my_identity_macro] fn foo();
    }

  • αž“αŸ…αž€αŸ’αž“αž»αž„αž˜αŸ‰αžΆαž€αŸ’αžšαžΌ αž”αžΆαž“αž’αž“αž»αžœαžαŸ’αž αžŸαž˜αžαŸ’αžαž—αžΆαž–αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž’αžΆαžαž» "macro_rules!" αž€αŸ†αž–αž»αž„αž”αž„αŸ’αž€αžΎαž "macro_rules!" αž’αžΆαž…αž’αŸ’αžœαžΎαž‘αŸ…αž”αžΆαž“αž‘αžΆαŸ†αž„αž“αŸ…αž€αŸ’αž“αž»αž„αž˜αŸ‰αžΆαž€αŸ’αžšαžΌαžŠαžΌαž…αž˜αž»αžαž„αžΆαžš (β€œmac!()”) αž“αž·αž„αž˜αŸ‰αžΆαž€αŸ’αžšαžΌαž€αŸ’αž“αž»αž„αž‘αž˜αŸ’αžšαž„αŸ‹αž‡αžΆαž‚αž»αžŽαž›αž€αŸ’αžαžŽαŸˆ (β€œ#[mac]”)αŸ”
  • αž€αŸ’αž“αž»αž„ $m:meta mapping element αž”αž“αŸ’αžαŸ‚αž˜ αž€αžΆαžšβ€‹αž‚αžΆαŸ†αž‘αŸ’αžšβ€‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹β€‹αžαž˜αŸ’αž›αŸƒβ€‹αž€αžΆαžšβ€‹αžšαžΆαž”αŸ‹β€‹αž”αž‰αŸ’αž…αžΌαž›β€‹αž›αŸαžβ€‹αžŸαž˜αŸ’αž„αžΆαžαŸ‹β€‹αžŠαŸ„αž™β€‹αž”αŸ†αž–αžΆαž“ (β€œ[TOKEN_STREAM]”, β€œ{TOKEN_STREAM}” αž“αž·αž„ β€œ(TOKEN_STREAM)”) αž§αž‘αžΆαž αžšαžŽαŸαŸ–

    αž˜αŸ‰αžΆαž€αŸ’αžšαžΌ_αž…αŸ’αž”αžΆαž”αŸ‹! accept_meta { ($m:meta) => {} }
    αž‘αž‘αž½αž›αž™αž€_មេតអ!(αžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ†αŸ–:αž•αŸ’αž›αžΌαžœ);
    accept_meta!( my::path = "lit");
    accept_meta!( my ::path ( abc ) );
    accept_meta!( my::path [ abc ] );
    accept_meta!( my::path { abc } );

  • αž“αŸ…αž€αŸ’αž“αž»αž„αžšαž”αŸ€αž” Rust 2015 αž›αž‘αŸ’αž’αž•αž›αž€αŸ†αž αž»αžŸαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αžΎαž€αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αž‰αŸ’αž αžΆαžŠαŸ‚αž›αž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αž“αŸ…αž–αŸαž›αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž€αžΆαžšαžαŸ’αž…αžΈαž“αŸƒαž’αžαŸαžš (αž’αŸ’αž“αž€αžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž”αŸ’αžšαžΆαž€αŸ‹αž€αž˜αŸ’αž…αžΈ) αžŠαŸ„αž™αž”αŸ’αžšαžΎαž”αž…αŸ’αž…αŸαž€αž‘αŸαžŸ NLL (Non-Lexical Lifetimes) αŸ” αž–αžΈαž˜αž»αž“ αž€αžΆαžšαž–αŸ’αžšαž˜αžΆαž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‡αŸ†αž“αž½αžŸαžŠαŸ„αž™αž€αŸ†αž αž»αžŸαž“αŸ…αž–αŸαž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αŸ’αž“αž»αž„αžšαž”αŸ€αž” Rust 2018αŸ”
    αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž–αž„αŸ’αžšαžΈαž€αž‘αŸ…αžšαž”αŸ€αž” Rust 2015 αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž’αžΆαž…αž“αŸ…αž‘αžΈαž”αŸ†αž•αž»αžαž”αžΆαž“αŸ” αž€αž˜αŸ’αž…αžΆαžαŸ‹ αž–αžΈαž’αŸ’αž“αž€αžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž”αŸ’αžšαžΆαž€αŸ‹αž€αž˜αŸ’αž…αžΈαž…αžΆαžŸαŸ‹αŸ”

    αž…αžΌαžšαž™αžΎαž„αžšαŸ†αž›αžΉαž€αžαžΆαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαž™αž“αŸ’αžαž€αžΆαžšαžαŸ’αž˜αžΈαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‚αž·αžαž‚αžΌαžšαž–αžΈαž’αžαŸαžšαžŠαŸ‚αž›αž”αžΆαž“αžαŸ’αž…αžΈαž”αžΆαž“αž’αŸ’αžœαžΎαž±αŸ’αž™αžœαžΆαž’αžΆαž…αž€αŸ†αžŽαžαŸ‹αž”αž‰αŸ’αž αžΆαž˜αž½αž™αž…αŸ†αž“αž½αž“αžŠαŸ‚αž›αž˜αž·αž“αž”αžΆαž“αž€αžαŸ‹αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αžŠαŸ„αž™αž›αŸαžαž€αžΌαžŠαž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αž…αžΆαžŸαŸ‹αŸ” αžŠαŸ„αž™αžŸαžΆαžšαž›αž‘αŸ’αž’αž•αž›αž€αŸ†αž αž»αžŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž”αŸ‚αž”αž“αŸαŸ‡αž’αžΆαž…αž”αŸ‰αŸ‡αž–αžΆαž›αŸ‹αžŠαž›αŸ‹αž—αžΆαž–αž†αž”αž‚αŸ’αž“αžΆαž‡αžΆαž˜αž½αž™αž€αžΌαžŠαžŠαŸ‚αž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž–αžΈαž˜αž»αž“ αž€αžΆαžšαž–αŸ’αžšαž˜αžΆαž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αŸαž‰αžŠαŸ†αž”αžΌαž„αž‡αŸ†αž“αž½αžŸαž±αŸ’αž™αž€αŸ†αž αž»αžŸαŸ”

  • αž‚αž»αžŽαž›αž€αŸ’αžαžŽαŸˆ "const" αžŠαŸ‚αž›αž€αŸ†αžŽαžαŸ‹αž›αž‘αŸ’αž’αž—αžΆαž–αž“αŸƒαž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžœαžΆαž“αŸ…αž€αŸ’αž“αž»αž„αž”αžšαž·αž”αž‘αžŽαžΆαž˜αž½αž™αž‡αŸ†αž“αž½αžŸαž±αŸ’αž™αžαŸαžš αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž˜αž»αžαž„αžΆαžš is_power_of_two (αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž…αŸ†αž“αž½αž“αž‚αžαŸ‹αžŠαŸ‚αž›αž˜αž·αž“αž”αžΆαž“αž…αž»αŸ‡αž αžαŸ’αžαž›αŸαžαžΆ)αŸ”
  • αž•αŸ’αž“αŸ‚αž€αžαŸ’αž˜αžΈαž“αŸƒ API αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αž›αžΆαžŸαŸ‹αž‘αžΈαž‘αŸ…αž”αŸ’αžšαž—αŸαž‘αžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ’αžαŸαžšαž—αžΆαž– αžšαž½αž˜αž‘αžΆαŸ†αž„ todo!() macro αž“αž·αž„ slice::repeat, mem::take, BTreeMap::get_key_value, HashMap::get_key_value αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžαŸ’αžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαž±αŸ’αž™αž˜αžΆαž“αžŸαŸ’αžαŸαžšαž—αžΆαž–αŸ”
    αž‡αž˜αŸ’αžšαžΎαžŸαŸ–:as_deref, αž‡αž˜αŸ’αžšαžΎαžŸ::as_deref_mut, αž‡αž˜αŸ’αžšαžΎαžŸ:: flatten, UdpSocket::peer_addr, {f32,f64}::to_be_bytes, {f32,f64}::to_le_bytes,{f32,f64}::to_ne32,bytes, f64}::from_be_bytes, {f32,f64}::from_le_bytes, αž“αž·αž„ {f32,f64}::from_ne_bytesαŸ”

  • αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž€αž‰αŸ’αž…αž”αŸ‹αž‘αŸ†αž“αž·αž‰
    αž”αžΆαž“αž’αž“αž»αžœαžαŸ’αž αž€αžΆαžšαž–αŸ’αžšαž˜αžΆαž“αž’αŸ†αž–αžΈαžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž’αŸ’αž“αž€αž…αž„αž€αŸ’αžšαž„αž“αŸ…αž›αžΎαžαžΆαžŸαŸ” αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž‡αž˜αŸ’αžšαžΎαžŸ "αž‘αž·αž“αŸ’αž“αž“αŸαž™αž˜αŸαžαžΆαž‘αŸ†αž“αž·αž‰" αž‘αŸ…αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆ "αž‘αž·αž“αŸ’αž“αž“αŸαž™αž˜αŸαžαžΆαž‘αŸ†αž“αž·αž‰"--αžαž˜αŸ’αžšαž„-αžœαŸαž‘αž·αž€αžΆ" αžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž αžΆαž‰αžαŸ‚αž€αž‰αŸ’αž…αž”αŸ‹αžŠαŸ‚αž›αž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ…αž“αžΉαž„αžœαŸαž‘αž·αž€αžΆαž‚αŸ„αž›αžŠαŸ…αžŠαŸ‚αž›αž”αžΆαž“αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αž‡αž½αžšαžˆαžšαžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž—αžΆαž–αž’αžΆαžŸαŸ’αžšαŸαž™αŸ” αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž‡αž˜αŸ’αžšαžΎαžŸαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž€αŸ†αžŽαŸ‚ http.ssl αžŠαžΎαž˜αŸ’αž”αžΈαž€αŸ†αžŽαžαŸ‹αž€αŸ†αžŽαŸ‚ TLS αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαŸ”
    αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αžŸαž˜αžαŸ’αžαž—αžΆαž–αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αŸ„αŸ‡αž–αž»αž˜αŸ’αž–αž•αŸ’αž“αŸ‚αž€ "αž—αžΆαž–αž’αžΆαžŸαŸ’αžšαŸαž™ dev" αžŠαŸ„αž™αž˜αž·αž“αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αžŸαŸ„ "αž€αŸ†αžŽαŸ‚" αŸ”

  • αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž…αž„αž€αŸ’αžšαž„ rustc αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαž€αž˜αŸ’αžšαž·αžαž‘αžΈαž”αžΈαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžœαŸαž‘αž·αž€αžΆαž‚αŸ„αž›αžŠαŸ… thumbv7neon-unknown-linux-musleabihf, aarch64-unknown-none-softfloat, mips64-unknown-linux-muslabi64 αž“αž·αž„ mips64el-unknown-linux-muslabi64 αŸ” αž€αž˜αŸ’αžšαž·αžαž‘αžΈαž”αžΈαž–αžΆαž€αŸ‹αž–αŸαž“αŸ’αž’αž“αžΉαž„αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαž‡αžΆαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“αž€αžΆαžšαžŸαžΆαž€αž›αŸ’αž”αž„αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž· αž“αž·αž„αž€αžΆαžšαž”αŸ„αŸ‡αž–αž»αž˜αŸ’αž–αž•αŸ’αžŸαžΆαž™αž€αžΆαžšαžŸαŸ’αžαžΆαž”αž“αžΆαž•αŸ’αž›αžΌαžœαž€αžΆαžšαŸ”

αž”αŸ’αžšαž—αž–: opennet.ru

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹