Rust 1.44 Famoahana ny fiteny fandaharana

MIVOAKA famotsorana ny fiteny fandaharana amin'ny rafitra Harafesina 1.44, naorin'ny tetikasa Mozilla. Mifantoka amin'ny fiarovana ny fitadidiana ilay fiteny, manome fitantanana fitadidiana mandeha ho azy, ary manome fitaovana hanatrarana ny fitovizan'asa avo lenta nefa tsy mampiasa mpanangom-pako sy runtime.

Ny fitantanana fitadidiana mandeha ho azy an'i Rust dia manafoana ny lesoka rehefa manodinkodina ny tondro ary miaro amin'ny olana ateraky ny fanodikodinam-pahatsiarovana ambany, toy ny fidirana amin'ny faritra fitadidiana rehefa afaka izany, ny tsy fahampian'ny pointer tsy misy tondro, ny fihoaran'ny buffer, sns. Misy mpitantana fonosana novolavolaina mba hizarana tranomboky, hiantohana ny fivoriambe ary hitantanana ny fiankinan-doha amin'ny tetikasa. entana, ahafahanao mahazo ny tranomboky ilaina amin'ny programa amin'ny tsindry iray. Misy tahiry iray tohanana mba hampiantranoana tranomboky crates.io.

Ao amin'ny lahatsoratry ny fanambarana ny famoahana vaovao, nandray anjara tamin'ny politika ireo mpamorona Rust ary nandà mafy ny hamoaka famerenana feno momba ny fanovana ao amin'ny Rust 1.44 ho mariky ny firaisankina amin'ireo mpanao fihetsiketsehana manohitra ny herisetran'ny polisy, izay manondro fa zava-dehibe kokoa ity olana ity. noho ny fifanakalozana fahalalana ara-teknika. fototra fanavaozana:

  • Ny mpitantana ny fonosana Cargo dia mampiditra ny baiko "hazo entana", izay mampiseho tabilao miankina amin'ny hazo. Manampy ihany koa ny safidy "—duplicates" ("cargo tree -d"), izay ahafahanao manombana ny fiankinan-doha amin'ny dikan-teny samihafa amin'ny fonosana iray ihany.

    mdbook v0.3.2 (/Users/src/rust/mdbook)
    ├── amoniaka v3.0.0
    │ ├── html5ever v0.24.0
    │ │ ├── log v0.4.8
    │ │ │ └── cfg-if v0.1.9
    │ │ ├── mac v0.1.1
    │ │ └── markup5ever v0.9.0
    │ │ ├── log v0.4.8 (*)
    │ │ ├── phf v0.7.24
    │ │ │ └── phf_shared v0.7.24
    │ │ │ ├── siphasher v0.2.3
    │ │ │ └── unicase v1.4.2
    │ │ │ [build-dependencies] │ │ │ └── version_check v0.1.5
    ...

  • Ho an'ny fampiharana tsy mifamatotra amin'ny std ("#![no_std]"), ny fanohanana ny teknika fandaharana asynchronous dia ampiharina mifototra amin'ny fiasa "async", ny async move { ... } block ary ny operator ".await", izay hanamora ny fanoratana tsy manakana ny fikorianan'ny baiko fototra.
  • Ny fanohanana ny rafitra famaritana ambaratongam-pahalalana modely azo itarina dia nampiana tao amin'ny parser. Ohatra, ity fananganana manaraka ity dia tsy hamokatra hadisoana, na dia eo aza ny tsy fisian'ny module "foo/bar/baz.rs" (mbola tsy manan-kery ny fananganana ary mety hiteraka hadisoana, fa ny fiovana dia azo jerena sy voavaha amin'ny ny haavon'ny fanangonana macro sy conditional):

    #[cfg(diso)] mod foo {
    mod bar {
    mod baz;
    }
    }

  • Ny compiler rustc dia nanampy ny fahafahana mampiasa ny saina "-C codegen-units" amin'ny fomba incremental. Ny fampiharana ny catch_unwind dia novolavolaina mba tsy hisy fiatraikany amin'ny fampisehoana raha toa ka kilemaina ny fizotran'ny fialana ary tsy misy fanavahana.
  • Ny fanohanana ambaratonga 64 dia nomena ho an'ny sehatra aarch64-unknown-none, aarch64-unknown-none-softfloat, arm86-apple-tvos ary x64_XNUMX-apple-tvos. Ny ambaratonga fahatelo dia misy fanohanana fototra, saingy tsy misy fitsapana mandeha ho azy sy famoahana ny fananganana ofisialy.
  • Ampahany vaovao amin'ny API no nafindra ho amin'ny sokajy stable, anisan'izany ny stabilized
    PathBuf::miaraka amin'ny_fahaizana,
    PathBuf::fahaizana,
    PathBuf:: mazava,
    PathBuf::reserve,
    PathBuf::reserve_exact,
    PathBuf::mihena_to_fito,
    {f32|f64}::to_int_unchecked,
    Layout::align_to,
    Layout::pad_to_align,
    Layout ::array ary
    Layout ::hanitatra.

  • Fampiasana miitatra amin'ny tranomboky mahazatra:
    • Nampiana variana "vec![]" manokana izay hita taratra mivantana ao amin'ny Vec::new(), ahafahan'ny "vec![]" ampiasaina amin'ny contexte fa tsy constants.
    • Nisy fampiharana (impl) an'ilay toetra nampiana hoe::Infallible hasi.
    • OsString dia mametraka tondro marani-tsaina DerefMut и IndexMut, miverina "&mut OsStr".
    • Fanampiana fanampiny ho an'ny Unicode 13.
    • Nampiharina tamin'ny String Avy amin'ny<&mut str>.
    • IoSlice dia mampihatra ny toetra Copy.
    • već nampihatra Avy<[T; N]>.
    • proc_macro :: LexError dia mampihatra fmt :: Display sy Error.
  • Ny toetra "const", izay mamaritra ny mety hampiasana azy amin'ny toe-javatra rehetra fa tsy constants, dia ampiasaina amin'ny fomba from_le_bytes, to_le_bytes, from_be_bytes, to_be_bytes, from_ne_bytes ary to_ne_bytes ho an'ny karazana integer rehetra.
  • Fanampiana fanampiny amin'ny famoronana tranomboky static amin'ny endrika ".a" fa tsy ".lib" ho an'ny sehatra GNU amin'ny Windows.
  • Ny fepetra kely indrindra ho an'ny LLVM dia natsangana ho LLVM version 8.

Source: opennet.ru

Add a comment