Rust 1.37 Programming Language Tso tawm

luam tawm system programming lus tso tawm Xeb 1.37, nrhiav tau los ntawm Mozilla qhov project. Cov lus hais txog kev nyab xeeb ntawm kev nco, muab kev tswj hwm kev nco tsis siv neeg, thiab muab txoj hauv kev kom ua tiav cov haujlwm siab sib luag yam tsis tas siv cov khoom khib nyiab lossis lub sijhawm ua haujlwm.

Rust qhov kev tswj hwm tsis siv neeg lub cim xeeb tso tawm tus tsim tawm los ntawm kev siv tus taw tes thiab tiv thaiv cov teeb meem tshwm sim los ntawm kev tswj hwm lub cim xeeb qis, xws li kev nkag mus rau lub cim xeeb tom qab tsis pub dawb, tsis muaj qhov taw qhia tsis zoo, tsis muaj kev cuam tshuam, thiab lwm yam. Tus neeg saib xyuas pob yog tsim los faib cov tsev qiv ntawv, xyuas kom muaj kev sib dhos thiab tswj cov kev vam meej los ntawm qhov project. cargo, tso cai rau koj kom tau txais cov tsev qiv ntawv xav tau rau qhov kev pab cuam hauv ib nias. Lub chaw khaws cia tau txais kev txhawb nqa rau cov tsev qiv ntawv crates.io.

ntsiab kev tsim kho tshiab:

  • Hauv rustc compiler muab txhawb kev ua kom zoo raws li cov txiaj ntsig profile (PGO, Profile-Guided Optimization),
    tso cai rau koj los tsim kom muaj kev pom zoo ntau dua raws li kev txheeb xyuas ntawm cov txheeb cais tau sau thaum lub sijhawm ua haujlwm. Txhawm rau tsim kom muaj qhov profile, "-C profile-tsim" chij yog muab, thiab siv qhov profile thaum sib dhos - "-C profile-siv" (thaum pib, qhov kev pab cuam tau sib sau ua ke nrog thawj tus chij, khiav ncig, thiab tom qab tsim. qhov profile, nws yog reassembled nrog tus chij thib ob);

  • Thaum ua tiav "cargo run" hais kom ua, uas yooj yim siv rau kev sim sai console daim ntawv thov, lub peev xwm los xaiv cov ntaub ntawv ua tiav tau raug ntxiv yog tias muaj ntau cov ntaub ntawv ua tiav hauv pob. Lub neej ntawd cov ntaub ntawv yuav tsum raug txiav txim siab los ntawm lub neej ntawd-khiav cov lus qhia nyob rau hauv ntu [pob] nrog pob tsis, uas tso cai rau koj kom tsis txhob qhia meej meej cov npe cov ntaub ntawv los ntawm tus chij "-bin" txhua zaus koj khiav "cargo run";
  • Cov "cargo vendor" hais kom ua, yav tas los muab raws li cais pob. Cov lus txib tso cai rau koj los teeb tsa kev ua haujlwm nrog cov ntawv luam hauv zos ntawm kev vam khom - tom qab ua tiav "cov neeg muag khoom thauj khoom", tag nrho cov lej ntawm qhov kev vam khom tau rub tawm los ntawm crates.io mus rau cov npe hauv zos, tom qab ntawd tuaj yeem siv rau kev ua haujlwm yam tsis muaj kev nkag mus rau crates. io (tom qab ua tiav cov lus txib, ib qho lus qhia rau kev hloov pauv kev teeb tsa tau pom tias siv cov npe rau kev tsim). Cov yam ntxwv no twb tau siv los npaj kev xa khoom ntawm rustc compiler nrog ntim ntawm txhua qhov kev vam khom hauv ib qho archive nrog kev tso tawm;
  • Tam sim no nws muaj peev xwm tsim cov kev txuas mus rau enum xaiv siv hom npe (piv txwv li, hauv lub cev ntawm cov haujlwm "fn increment_or_zero(x: ByteOption) koj tuaj yeem qhia "ByteOption:: Tsis yog => 0"), hom kev suav tsim (β€Ή MyTypeβ€Ή.. β€Ίβ€Ί::option => N) lossis Kev nkag mus rau tus kheej (hauv cov blocks c & tus kheej koj tuaj yeem teev "Self::Quarter => 25");
  • Ntxiv lub peev xwm los tsim cov tsis muaj npe nyob rau hauv macros. Hloov chaw ntawm lub npe lub npe hauv "const", tam sim no koj tuaj yeem siv lub cim "_" los xaiv tus cim tsis rov ua dua, zam lub npe tsis sib haum thaum hu rau macro dua;
  • Ntxiv lub peev xwm los siv "#[repr(align(N))" attribute nrog enums siv ib tug syntax zoo ib yam li txhais ib tug AlignNβ€ΉTβ€Ί qauv nrog alignment thiab ces siv AlignNβ€ΉMyEnumβ€Ί;
  • Ib feem tshiab ntawm API tau raug hloov mus rau qeb ruaj khov, suav nrog BufReader:: tsis, BufWriter:: tsis, thiab
    Cell::from_mut,
    Cell::as_slice_of_cells,
    DoubleEndedIterator::nth_back,
    Option:: xov
    {i,u}{8,16,64,128,size}::reverse_bits, Wrapping::reverse_bits thiab
    slice::copy_in.

Tsis tas li ntawd, nws tuaj yeem raug sau tseg pib ntawm kev sim peb tes num Async-std, uas muaj qhov sib txawv asynchronous ntawm lub tsev qiv ntawv tus qauv Rust (qhov chaw nres nkoj ntawm lub tsev qiv ntawv std, uas txhua qhov sib cuam tshuam tau muab rau hauv async version thiab npaj siv nrog async / tos syntax).

Tau qhov twg los: opennet.ru

Ntxiv ib saib