Rust 1.46 Programming Language Release

gipatik buhian ang 1.46 sa sistema sa programming language taya, gitukod sa proyekto sa Mozilla. Ang lengguwahe nagtutok sa kaluwasan sa panumduman, naghatag og awtomatik nga pagdumala sa panumduman, ug naghatag og mga himan alang sa pagkab-ot sa taas nga paralelismo sa buluhaton nga walay paggamit ug tigkolekta sa basura ug runtime.

Ang awtomatik nga pagdumala sa panumduman sa Rust nagwagtang sa mga sayup kung nagmaniobra sa mga pointer ug nanalipod batok sa mga problema nga naggikan sa ubos nga lebel sa pagmaniobra sa panumduman, sama sa pag-access sa usa ka rehiyon sa panumduman human kini gibuhian, null pointer dereferences, buffer overruns, ug uban pa. Usa ka tagdumala sa pakete ang gipalambo aron sa pag-apod-apod sa mga librarya, pagsiguro sa asembliya ug pagdumala sa mga dependency sa proyekto. Cargo, nga nagtugot kanimo nga makuha ang mga librarya nga gikinahanglan alang sa programa sa usa ka pag-klik. Gisuportahan ang usa ka repository sa pag-host sa mga librarya crates.io.

nag-unang mga inobasyon:

  • Ang mga kapabilidad sa mga gimbuhaton nga gihubit gamit ang ekspresyon nga "const fn" gipalapdan, nga mahimong tawgon dili lamang ingon nga regular nga mga gimbuhaton, apan gigamit usab sa bisan unsang konteksto imbis nga mga kanunay. Kini nga mga gimbuhaton gikalkulo sa oras sa pag-compile, dili sa oras sa pagdagan, mao nga kini gipailalom sa pipila nga mga pagdili, sama sa abilidad sa pagbasa lamang gikan sa mga kanunay.

    Gitangtang sa bag-ong pagpagawas ang pagdili sa paggamit sa mga operator sa Boolean ("&&" ug "||") sa ingon nga mga gimbuhaton, ug gitugotan ang paggamit sa "kon", "kon tugotan", "match" nga mga pagtukod,
    "samtang", "samtang pasagdi" ug "loop", ug naghatag usab ug abilidad sa pag-convert ngadto sa mga hiwa (slice, dynamic arrays) gamit ang ekspresyong "&[T]". Ang paggamit niini nga mga bahin sa "const fn" nga mga gimbuhaton nagtugot kanimo sa pagbalhin sa pipila ka mga operasyon nga kusog sa kapanguhaan ngadto sa yugto sa pagtipon. Pananglitan, ang pagpatuman sa "const-sha1" nagpaposible sa pagkalkulo sa SHA-1 nga mga hash sa oras sa pag-compile, nga mosangpot sa pagpadali sa WinRT bindings alang sa Rust sa halos 40 ka beses.

  • Aron mahimong mas impormasyon ang mga mensahe sa sayop, ang suporta alang sa attribute nga "#[track_caller]" gi-stabilize, nga mapuslanon alang sa mga function sama sa pag-unwrap, nga mahimong hinungdan sa kalisang kung ang mga tipo gigamit nga dili husto. Ang espesipikong hiyas gamiton sa panic handler aron maimprinta ang lokasyon sa nagtawag sa usa ka mensahe sa sayup.
  • Ang "const" nga hiyas, nga nagtino sa posibilidad sa paggamit niini sa bisan unsang konteksto imbes nga mga constant, gigamit sa std::mem::forget method.
  • Usa ka bag-ong bahin sa API ang gibalhin ngadto sa stable nga kategorya, lakip ang gipalig-on nga Option::zip ug vec::Drain::as_slice.
  • Sa tagdumala sa pakete nga Cargo gidugang suporta para sa bag-ong environment variables nga gitakda sa dihang nag-compile og package: CARGO_BIN_NAME (ngalan sa resulta nga executable file), CARGO_CRATE_NAME (package name), CARGO_PKG_LICENSE (lisensya nga gitakda sa manifest), CARGO_PKG_LICENSE_FILE (path sa license file).

Source: opennet.ru

Idugang sa usa ka comment