Rust 1.44 Siidaynta Luuqada Barnaamijaynta

la daabacay siidaynta luuqada programming-ka Miridhku 1.44, oo uu aasaasay mashruuca Mozilla. Luqadda waxay diiradda saartaa badbaadada xusuusta, waxay bixisaa maaraynta xusuusta oo toos ah, waxayna siisaa qalab lagu gaaro isbarbar-dhigga hawsha sare iyada oo aan la isticmaalin ururiyaha qashinka iyo runtime.

Maareynta xusuusta tooska ah ee Rust's waxay baabi'isaa khaladaadka marka la maamulayo tilmaamayaasha waxayna ka ilaalisaa dhibaatooyinka ka dhasha khalkhalgelinta heerka hoose ee xusuusta, sida gelitaanka gobolka xusuusta ka dib marka la sii daayo, tilmaame null ah, dulsaar xad dhaaf ah, iwm. Maamule xirmo ayaa la soo saarayaa si uu u qaybiyo maktabadaha, loo hubiyo isu-ururinta una maamulo ku-tiirsanaanta mashruuca. Cargo, taasoo kuu ogolaanaysa inaad hal mar gujiso ku hesho maktabadaha looga baahan yahay barnaamijka. Kaydka waxaa lagu taageeraa in lagu qabto maktabadaha sanduuqyada.io.

Qoraalka ku dhawaaqista ee sii deynta cusub, horumarinta Rust waxay heleen siyaasad waxayna si cad u diideen inay daabacaan dulmar buuxa oo ku saabsan isbeddelada Rust 1.44 ee midnimada ee dibad-baxayaasha ka soo horjeeda rabshadaha booliiska, iyagoo sheegaya in arrintani ay ka muhiimsan tahay is-dhaafsiga aqoonta farsamada. wax cusub:

  • Maareeyaha xirmada xamuulka hadda waxaa ku jira amarka "geedka xamuulka", kaas oo muujinaya garaaf geed u eg oo ku tiirsanaanta. Xulashada "--duplicates" (geedka xamuulka -d) ayaa sidoo kale lagu daray, taasoo kuu ogolaaneysa inaad qiimeyso ku tiirsanaanta noocyada kala duwan ee hal xirmo.

    mdbook v0.3.2 (/ Isticmaalayaasha/src/ miridhku/mdbook)
    ├── ammonia v3.0.0
    │ ├── html5ever v0.24.0
    │ │ ├── gal v0.4.8
    │ │ │ └── cfg-haddii v0.1.9
    │ │ ├── mac v0.1.1
    │ │ └── markup5ever v0.9.0
    │ │ ├── gal v0.4.8 (*)
    │ │ ├── phf v0.7.24
    │ │ │ └── phf_la wadaagay v0.7.24
    │ │ │ ├── siphasher v0.2.3
    │ │ │ └── sanduuqa v1.4.2
    │ │ │ [ku-tiirsanaanta] │ │ │ └── nooca_check v0.1.5
    ...

  • Codsiyada aan ku xidhnayn std ("#! [no_std]"), taageero ayaa loo hirgeliyay farsamooyinka barnaamijka asynchronous ee ku salaysan shaqada "async", dhaqaaqa async {... } block, iyo hawlwadeenka ".wait", taas oo sahlaysa in la qoro maamulayaasha aan xannibin socodka amarka ugu weyn.
  • Qiimeeyaha hadda wuxuu taageeraa nidaamka qeexida kala sareynta moduleka. Tusaale ahaan, dhismaha soo socda ma dhalin doono qalad, inkastoo maqnaanshaha dhabta ah ee moduleka "foo/bar/baz.rs" (macn ahaan, dhismuhu wali waa buran yahay waxaana laga yaabaa inuu dhaliyo qalad, laakiin isbeddelada waa la arki karaa oo lagu kala saari karaa heerka macro iyo shuruudaha isku dubaridka):

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

  • Isku-duwaha rustc hadda wuxuu taageeraa calanka "-C codegen-units" qaabka kordhinta. Hirgelinta qabashada_dabaysha dib ayaa loo habeeyey si loo hubiyo in aanay wax saamayn ah ku yeelanayn haddii dabaysha ay naafo tahay oo aan la tuurin.
  • Taageerada heerka 3 ayaa loo sahlay aarch64-unknown-none, aarch64-unknown-none-softfloat, arm64-apple-tvos, iyo x86_64-apple-tvos platforms. Heerka 3 wuxuu bixiyaa taageero aasaasi ah, laakiin aan lahayn tijaabo toos ah ama siidaynta rasmiga ah ee dhismaha.
  • Qayb cusub oo API-yada ah ayaa loo wareejiyay qaybta deggan, oo ay ku jirto la xasiliyay
    PathBuf:: oo leh karti,
    PathBuf ::awood,
    PathBuf:: cad,
    PathBuf:: kaydso,
    PathBuf :: kayd_sax ah,
    PathBuf:: U dhimi_inay ku habboonaato,
    {f32|f64}:: in aan la hubin,
    Layout :: align_to,
    Layout :: pad_to_align,
    Layout::array iyo
    Layout :: kordhin
  • Hawlaha la dheereeyey ee maktabadda caadiga ah:
    • Waxaa lagu daray "vec![]" duwanaansho gaar ah oo si toos ah uga muuqata Vec :: cusub(), u oggolaanaysa "vec![]" in loo isticmaalo macnaha guud ee beddelka joogtada ah.
    • Dhaqangelinta (impl) ee sifada ayaa lagu daray in la beddelo:: Ma khaldami karin Hash.
    • OsString waxay fulisaa tilmaameyaal caqli badan DerefMut и IndexMut, soo noqoshada "& mut OsStr".
    • Taageero lagu daray Unicode 13.
    • Laga hirgaliyay String Ka yimid<&mut str>.
    • IoSlice waxay fulisaa sifada Copy.
    • Vec laga hirgaliyay<[T; N]>.
    • proc_macro:: LexError waxa uu fuliya fmt :: Bandhiga iyo Cilad.
  • Calan "const", kaas oo go'aamiya suurtagalnimada isticmaalka xaalad kasta oo aan joogto ahayn, ayaa lagu dabaqay from_le_bytes, to_le_bytes, from_be_bytes, to_be_bytes, from_ne_bytes iyo to_ne_bytes hababka dhammaan noocyada kala duwanaansho.
  • Taageero lagu daray soo saarista maktabado taagan qaabka ".a" halkii ".lib" ee goobaha GNU ee Windows.
  • Shuruudaha ugu yar ee LLVM ayaa kor loogu qaaday LLVM 8.

Source: opennet.ru

Add a comment