αž€αžΆαžšαž”αŸ„αŸ‡αž–αž»αž˜αŸ’αž–αž›αžΎαž€αž‘αžΈ XNUMX αž“αŸƒαž”αŸ†αžŽαŸ‡αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαžΊαžŽαŸ‚αž›αž›αžΈαž“αž»αž…αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž—αžΆαžŸαžΆ Rust

Miguel Ojeda αž’αŸ’αž“αž€αž“αž·αž–αž“αŸ’αž’αž“αŸƒαž‚αž˜αŸ’αžšαŸ„αž„ Rust-for-Linux αž”αžΆαž“αžŸαŸ’αž“αžΎαž‡αž˜αŸ’αžšαžΎαžŸαžŸαž˜αžΆαžŸαž—αžΆαž‚αž‘αžΈαž”αžΈαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αž‰αŸ’αž‡αžΆαž§αž”αž€αžšαžŽαŸαž“αŸ…αž€αŸ’αž“αž»αž„αž—αžΆαžŸαžΆ Rust αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαžαžΊαžŽαŸ‚αž›αž›αžΈαž“αž»αž…αžŠαžΎαž˜αŸ’αž”αžΈαž–αž·αž…αžΆαžšαžŽαžΆαŸ” αž€αžΆαžšβ€‹αž‚αžΆαŸ†αž‘αŸ’αžšβ€‹αž…αŸ’αžšαŸ‚αŸ‡β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž…αžΆαžαŸ‹β€‹αž‘αž»αž€β€‹αžαžΆβ€‹αž‡αžΆβ€‹αž€αžΆαžšβ€‹αž–αž·αžŸαŸ„αž’ αž”αŸ‰αž»αž“αŸ’αžαŸ‚β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž™αž›αŸ‹β€‹αž–αŸ’αžšαž˜β€‹αžšαž½αž…β€‹αž αžΎαž™β€‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹β€‹αž€αžΆαžšβ€‹αžŠαžΆαž€αŸ‹β€‹αž”αž‰αŸ’αž…αžΌαž›β€‹αž€αŸ’αž“αž»αž„β€‹αž›αžΈαž“αž»αž…β€‹-β€‹αžŸαžΆαžαžΆβ€‹αž”αž“αŸ’αž‘αžΆαž”αŸ‹αŸ” αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αžαž›αŸ‹αž˜αžΌαž›αž“αž·αž’αž·αžŠαŸ„αž™ Google αž“αž·αž„ ISRG (αž€αŸ’αžšαž»αž˜αžŸαŸ’αžšαžΆαžœαž‡αŸ’αžšαžΆαžœαžŸαž“αŸ’αžαž·αžŸαž»αžαž’αŸŠαžΈαž“αž’αžΊαžŽαž·αž) αžŠαŸ‚αž›αž‡αžΆαžŸαŸ’αžαžΆαž”αž“αž·αž€αž“αŸƒαž‚αž˜αŸ’αžšαŸ„αž„ Let's Encrypt αž“αž·αž„αž•αŸ’αžŸαž–αŸ’αžœαž•αŸ’αžŸαžΆαž™ HTTPS αž“αž·αž„αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž”αž…αŸ’αž…αŸαž€αžœαž·αž‘αŸ’αž™αžΆαžŠαžΎαž˜αŸ’αž”αžΈαž€αŸ‚αž›αž˜αŸ’αž’αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αž’αŸŠαžΈαž“αž’αžΊαžŽαž·αžαŸ”

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

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

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

  • αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαž‘αžΎαž„αž…αŸ†αž–αŸ„αŸ‡αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ’αžαŸαžšαž—αžΆαž–αž“αŸƒ Rust 1.57 αž‡αžΆαž’αŸ’αž“αž€αž…αž„αž€αŸ’αžšαž„αž―αž€αžŸαžΆαžšαž™αŸ„αž„ αž“αž·αž„αžαŸ†αžŽαž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ…αž€αžΆαž“αŸ‹αž€αžΆαžšαž”αŸ„αŸ‡αž–αž»αž˜αŸ’αž–αžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ’αžαŸαžšαž—αžΆαž–αž“αŸƒαž—αžΆαžŸαžΆ Rust 2021 αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αžαž›αŸ‹αž‡αžΌαž“αŸ” αž–αžΈαž˜αž»αž“ αž”αŸ†αžŽαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αž„αž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ…αž“αžΉαž„αžŸαžΆαžαžΆαž”αŸαžαžΆαžšαž”αžŸαŸ‹ Rust αž αžΎαž™αž”αžΆαž“αž”αŸ’αžšαžΎαž›αž€αŸ’αžαžŽαŸˆαž–αž·αžŸαŸαžŸαž—αžΆαžŸαžΆαž˜αž½αž™αž…αŸ†αž“αž½αž“αžŠαŸ‚αž› αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αžΆαžαŸ‹αžαŸ’αž“αžΆαž€αŸ‹αžαžΆαž˜αž·αž“αžŸαŸ’αžαž·αžαžŸαŸ’αžαŸαžšαŸ” αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž‘αŸ…αž€αžΆαžšαž”αž‰αŸ’αž‡αžΆαž€αŸ‹ Rust 2021 αž”αžΆαž“αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž™αžΎαž„αž•αŸ’αžαž½αž…αž•αŸ’αžαžΎαž˜αž€αžΆαžšαž„αžΆαžšαžŠαžΎαž˜αŸ’αž”αžΈαž‡αŸ€αžŸαžœαžΆαž„αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž˜αž»αžαž„αžΆαžšαž˜αž·αž“αžŸαŸ’αžαž·αžαžŸαŸ’αžαŸαžšαž”αŸ‚αž”αž“αŸαŸ‡αž“αŸ…αž€αŸ’αž“αž»αž„αž”αŸ†αžŽαŸ‡αžŠαžΌαž…αž‡αžΆ const_fn_transmute, const_panic, const_unavailable_unchecked αž“αž·αž„ core_panic αž“αž·αž„ try_reserve αŸ”
  • αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž“αŸƒαž€αŸ†αžŽαŸ‚αž”αŸ‚αž„αž…αŸ‚αž€αž“αŸƒαž”αžŽαŸ’αžŽαžΆαž›αŸαž™ Rust αžŠαŸ‚αž›αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž“αŸ…αž€αŸ’αž“αž»αž„αž”αŸ†αžŽαŸ‡αž”αžΆαž“αž”αž“αŸ’αž αž€αŸ‚αž”αŸ’αžšαŸ‚αžŠαžΎαž˜αŸ’αž”αžΈαž”αŸ†αž”αžΆαžαŸ‹αž˜αž»αžαž„αžΆαžšαž”αŸ‚αž„αž…αŸ‚αž€αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αž“αŸƒαž‡αŸ†αž“αžΆαž“αŸ‹αžŠαŸ‚αž›αž’αžΆαž…αž€αžΎαžαž˜αžΆαž“αž“αŸƒαžŸαŸ’αžαžΆαž“αž—αžΆαž– "αž—αŸαž™αžŸαŸ’αž›αž“αŸ‹αžŸαŸ’αž›αŸ„" αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž˜αžΆαž“αž€αŸ†αž αž»αžŸαž€αžΎαžαž‘αžΎαž„ αžŠαžΌαž…αž‡αžΆαž’αžŸαŸ‹αž€αžΆαžšαž…αž„αž…αžΆαŸ†αŸ” αž€αŸ†αžŽαŸ‚αžαŸ’αž˜αžΈαž’αž“αž»αžœαžαŸ’αžαž‡αž˜αŸ’αžšαžΎαžŸ "no_rc" αž“αž·αž„ "no_sync" αžŠαžΎαž˜αŸ’αž”αžΈαž”αž·αž‘αž˜αž»αžαž„αžΆαžšαžŠαŸ‚αž›αž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΌαžŠαžαžΊαžŽαŸ‚αž› Rust αžŠαŸ‚αž›αž’αŸ’αžœαžΎαž±αŸ’αž™αž”αžŽαŸ’αžŽαžΆαž›αŸαž™αž€αžΆαž“αŸ‹αžαŸ‚αž˜αŸ‰αžΌαžŒαž»αž›αŸ” αž€αžΆαžšαž„αžΆαžšαž”αž“αŸ’αžαž‡αžΆαž˜αž½αž™αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž”αŸ‚αž„αž…αŸ‚αž€αžŸαŸ†αžαžΆαž“αŸ‹ αž‚αŸ„αž›αž”αŸ†αžŽαž„αž•αŸ’αž‘αŸαžšαž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž€αžΆαžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαžΊαžŽαŸ‚αž›αž‘αŸ…αž”αžŽαŸ’αžŽαžΆαž›αŸαž™αž˜αŸαŸ” αž‡αž˜αŸ’αžšαžΎαžŸ β€œno_fp_fmt_parse” αžŠαŸ‚αž›αžαž˜αŸ’αžšαžΌαžœαž±αŸ’αž™αž”αžŽαŸ’αžŽαžΆαž›αŸαž™αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸ…αž€αž˜αŸ’αžšαž·αžαžαžΊαžŽαŸ‚αž› αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αž›αžΆαžŸαŸ‹αž‘αžΈαž‘αŸ…αž”αžŽαŸ’αžŽαžΆαž›αŸαž™αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“ Rust (αžŸαŸ’αž“αžΌαž›)αŸ”
  • αž€αžΌαžŠαžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαž˜αŸ’αž’αžΆαž αžŠαžΎαž˜αŸ’αž”αžΈαž€αž˜αŸ’αž…αžΆαžαŸ‹αž€αžΆαžšαž–αŸ’αžšαž˜αžΆαž“αž’αŸ†αž–αžΈαž’αŸ’αž“αž€αž…αž„αž€αŸ’αžšαž„αžŠαŸ‚αž›αž’αžΆαž…αž€αžΎαžαž˜αžΆαž“ αž“αŸ…αž–αŸαž›αž”αž„αŸ’αž€αžΎαžαžαžΊαžŽαŸ‚αž›αž“αŸ…αž€αŸ’αž“αž»αž„αžšαž”αŸ€αž” CONFIG_WERROR αŸ” αž“αŸ…αž–αŸαž›αž”αž„αŸ’αž€αžΎαžαž€αžΌαžŠαž“αŸ…αž€αŸ’αž“αž»αž„ Rust αžšαž”αŸ€αž”αžœαž·αž“αž·αž…αŸ’αž†αŸαž™αž’αŸ’αž“αž€αž…αž„αž€αŸ’αžšαž„αž”αž“αŸ’αžαŸ‚αž˜ αž“αž·αž„αž€αžΆαžšαž–αŸ’αžšαž˜αžΆαž“αž’αŸ†αž–αžΈαžŸαŸ’αžšαž‘αžΆαž”αŸ‹ Clippy αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αžΎαž€αŸ”
  • Abstractions αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαŸ’αž“αžΎαž‘αžΎαž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ’αžšαžΎαž€αŸ’αž“αž»αž„ Rust code αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ seqlocks (sequence locks), callback calls for power management, I/O Memory (readX/writeX), interrupt and thread handlers, GPIO, access to devices, drivers and credentials.
  • αž§αž”αž€αžšαžŽαŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αž‰αŸ’αž‡αžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž–αž„αŸ’αžšαžΈαž€αžŠαžΎαž˜αŸ’αž”αžΈαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž› mutexes αžŠαŸ‚αž›αž’αžΆαž…αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž‘αžΈαžαžΆαŸ†αž„αž”αžΆαž“ αž”αŸŠαžΈαž iterators αž€αžΆαžšαž…αž„αž‘αŸ’αžšαž“αž·αž…αžŠαŸαžŸαžΆαž˜αž‰αŸ’αž‰ αž€αžΆαžšαž€αŸ‚αž›αž˜αŸ’αž’αž€αžΆαžšαžœαž·αž“αž·αž…αŸ’αž†αŸαž™αž€αŸ†αž αž»αžŸ αž“αž·αž„αž αŸαžŠαŸ’αž‹αžΆαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž―αž€αžšαžΆαž‡αŸ’αž™αž“αŸƒαžšαžαž™αž“αŸ’αžαž€αŸ’αžšαž»αž„αž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ”
  • αž’αŸ’αžœαžΎαž±αŸ’αž™αž”αŸ’αžšαžŸαžΎαžšαž‘αžΎαž„αž“αžΌαžœαž€αžΆαžšαž„αžΆαžšαž‡αžΆαž˜αž½αž™αžαŸ†αžŽαž—αŸ’αž‡αžΆαž”αŸ‹αžŠαŸ„αž™αž”αŸ’αžšαžΎαž”αŸ’αžšαž—αŸαž‘ Ref αžŸαžΆαž˜αž‰αŸ’αž‰ αžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžαžΆαž„αž€αŸ’αžšαŸ„αž™ refcount_t αžŠαŸ‚αž›αž”αŸ’αžšαžΎ kernel API αž“αŸƒαžˆαŸ’αž˜αŸ„αŸ‡αžŠαžΌαž…αž‚αŸ’αž“αžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžšαžΆαž”αŸ‹αž―αž€αžŸαžΆαžšαž™αŸ„αž„αŸ” αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ’αžšαž—αŸαž‘ Arc αž“αž·αž„ Rc αžŠαŸ‚αž›αž•αŸ’αžαž›αŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αž”αžŽαŸ’αžŽαžΆαž›αŸαž™ alloc αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαž€αž…αŸαž‰ αž αžΎαž™αž˜αž·αž“αž˜αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΌαžŠαžŠαŸ‚αž›αž”αžΆαž“αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž“αŸ…αž€αž˜αŸ’αžšαž·αžαžαžΊαžŽαŸ‚αž›αž‘αŸ (αž‡αž˜αŸ’αžšαžΎαžŸαžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαŸ€αž”αž…αŸ†αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αžŽαŸ’αžŽαžΆαž›αŸαž™αžαŸ’αž›αž½αž“αž―αž„αžŠαŸ‚αž›αž”αž·αž‘αž”αŸ’αžšαž—αŸαž‘αž‘αžΆαŸ†αž„αž“αŸαŸ‡)αŸ”
  • αž”αŸ†αžŽαŸ‡αžšαž½αž˜αž˜αžΆαž“αž€αŸ†αžŽαŸ‚αž“αŸƒαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αž‰αŸ’αž‡αžΆ PL061 GPIO αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαžšαžŸαŸαžšαž‘αžΎαž„αžœαž·αž‰αž“αŸ…αž€αŸ’αž“αž»αž„ Rust αŸ” αž›αž€αŸ’αžαžŽαŸˆαž–αž·αžŸαŸαžŸαžšαž”αžŸαŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αž‰αŸ’αž‡αžΆαž‚αžΊαžαžΆαž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαžšαž”αžŸαŸ‹αžœαžΆαžŸαŸ’αž‘αžΎαžšαžαŸ‚αž˜αž½αž™αž”αž“αŸ’αž‘αžΆαžαŸ‹αž˜αŸ’αžαž„αž˜αž½αž™αŸ—αž’αŸ’αžœαžΎαž‘αžΎαž„αžœαž·αž‰αž“αžΌαžœαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αž‰αŸ’αž‡αžΆ GPIO αžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ’αžšαžΆαž”αŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αž—αžΆαžŸαžΆ C αŸ” αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαžŠαŸ‚αž›αž…αž„αŸ‹αžŸαŸ’αž‚αžΆαž›αŸ‹αž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αž‰αŸ’αž‡αžΆαž“αŸ…αž€αŸ’αž“αž»αž„ Rust αž€αžΆαžšαž”αŸ’αžšαŸ€αž”αž’αŸ€αž”αžαžΆαž˜αž”αž“αŸ’αž‘αžΆαžαŸ‹αž˜αž½αž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαŸ€αž”αž…αŸ†αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž–αž½αž€αž‚αŸαž™αž›αŸ‹αžαžΆαž€αžΆαžšαžŸαžΆαž„αžŸαž„αŸ‹αžŽαžΆαž˜αž½αž™αž“αŸ…αž€αŸ’αž“αž»αž„ Rust αž€αžΌαžŠ C αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ†αž›αŸ‚αž„αž‘αŸ…αž‡αžΆαŸ”
  • αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž€αžΌαžŠ Rust αž…αž˜αŸ’αž”αž„αž”αžΆαž“αž‘αž‘αž½αž›αž™αž€ rustc_codegen_gcc αžŠαŸ‚αž›αž‡αžΆαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžαžΆαž„αž€αŸ’αžšαŸ„αž™ rustc αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ GCC αžŠαŸ‚αž›αž’αž“αž»αžœαžαŸ’αžαž€αžΆαžšαž…αž„αž€αŸ’αžšαž„αž‡αžΆαž˜αž»αž“ (AOT) αžŠαŸ„αž™αž”αŸ’αžšαžΎαž”αžŽαŸ’αžŽαžΆαž›αŸαž™ libgccjit αŸ” αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαž“αŸƒαž•αŸ’αž“αŸ‚αž€αžαžΆαž„αž€αŸ’αžšαŸ„αž™ αžœαžΆαž“αžΉαž„αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž”αŸ’αžšαž˜αžΌαž›αž€αžΌαžŠ Rust αžŠαŸ‚αž›αž–αžΆαž€αŸ‹αž–αŸαž“αŸ’αž’αž“αžΉαž„αžαžΊαžŽαŸ‚αž›αžŠαŸ„αž™αž”αŸ’αžšαžΎ GCC αŸ”
  • αž”αž“αŸ’αžαŸ‚αž˜αž–αžΈαž›αžΎ ARM, Google αž“αž·αž„ Microsoft, Red Hat αž”αžΆαž“αž”αž„αŸ’αž αžΆαž‰αž–αžΈαž…αŸ†αžŽαžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž—αžΆαžŸαžΆ Rust αž“αŸ…αž€αŸ’αž“αž»αž„αžαžΊαžŽαŸ‚αž›αž›αžΈαž“αž»αž…αŸ” αž…αžΌαžšαž™αžΎαž„αžšαŸ†αž›αžΉαž€αžαžΆ Google αž•αŸ’αžαž›αŸ‹αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŠαŸ„αž™αž•αŸ’αž‘αžΆαž›αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‚αž˜αŸ’αžšαŸ„αž„ Rust for Linux αž€αŸ†αž–αž»αž„αž”αž„αŸ’αž€αžΎαžαž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαžαŸ’αž˜αžΈαž“αŸƒαž™αž“αŸ’αžαž€αžΆαžšαž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„αž’αž“αŸ’αžαžšαžŠαŸ†αžŽαžΎαžšαž€αžΆαžš Binder αž“αŸ…αž€αŸ’αž“αž»αž„ Rust αž αžΎαž™αž€αŸ†αž–αž»αž„αž–αž·αž…αžΆαžšαžŽαžΆαž–αžΈαž›αž‘αŸ’αž’αž—αžΆαž–αž“αŸƒαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‘αžΎαž„αžœαž·αž‰αž“αžΌαžœαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αž‰αŸ’αž‡αžΆαž•αŸ’αžŸαŸαž„αŸ—αž“αŸ…αž€αŸ’αž“αž»αž„ Rust αŸ” αž€αŸ’αžšαž»αž˜αž αŸŠαž»αž“ Microsoft αž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž’αž“αž»αžœαžαŸ’αžαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αž‰αŸ’αž‡αžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Hyper-V αž“αŸ…αž€αŸ’αž“αž»αž„ Rust αŸ” ARM αž€αŸ†αž–αž»αž„αž’αŸ’αžœαžΎαž€αžΆαžšαžŠαžΎαž˜αŸ’αž”αžΈαž€αŸ‚αž›αž˜αŸ’αž’αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžš Rust αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŠαŸ‚αž›αž˜αžΆαž“αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž›αžΎ ARM αŸ” IBM αž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžš Rust αž“αŸ…αž€αŸ’αž“αž»αž„αžαžΊαžŽαŸ‚αž›αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ’αžšαž–αŸαž“αŸ’αž’ PowerPC αŸ”

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

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