Rust 1.34 Siidaynta Luuqada Barnaamijaynta

dhacay siidaynta luuqada programming-ka Miridhku 1.34, oo uu sameeyay mashruuca Mozilla. Luqadda waxay diiradda saartaa badbaadada xusuusta, waxay bixisaa maaraynta xusuusta oo toos ah, waxayna bixisaa hab lagu gaaro isbarbar-dhigga hawsha sare iyada oo aan la isticmaalin qashin ururiyaha ama wakhtiga shaqada.

Maareynta xusuusta tooska ah ee Rust's waxay ka xoraysaa horumariyaha wax-is-daba-marinta tilmaamayaasha waxayna ka ilaalisaa dhibaatooyinka ka dhasha khalkhalgelinta heerka hoose ee xusuusta, sida gelitaanka xusuusta bilaashka ah ka dib, tilmaame null ah, xad-dhaaf ah, iyo wixii la mid ah. 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.

Main wax cusub:

  • Maareeyaha xirmada xamuulka ayaa ku daray qalab uu kula shaqeeyo diiwaanka xirmo kale oo la noolaan kara diiwaanka dadweynaha crates.io. Tusaale ahaan, kuwa horumariya codsiyada lahaanshaha ayaa hadda isticmaali kara diiwaankooda gaarka ah, taas oo loo isticmaali karo marka lagu qorayo ku-tiirsanaanta Cargo.toml, oo ay ku dabaqaan qaab-nooca la midka ah crates.io ee alaabadooda, iyo sidoo kale tixraac ku-tiirsanaanta labadaba. io iyo diiwaankaaga.

    Si loogu daro diiwaanada dibadda .cargo/config (oo ku yaal $HOME ama tusaha xirmada)
    la siiyay qaybta "[diwaangelinta]", iyo si loo isticmaalo diiwaan dibadeed, "diwaangelinta" ikhtiyaarka ayaa ka soo muuqday sharraxaadda ku-tiirsanaanta kasta ee Cargo.toml. Si aad ugu xidho diiwaan dheeraad ah, si fudud u dhig calaamada aqoonsiga gudaha ~/.cargo/credentials file oo socodsii amarka
    "cargo login --registry=my-registry" iyo in la daabaco xirmo -
    "daabacaadda xamuulka -registry=may-diiwaangelinta";

  • Waxaa lagu daray taageero buuxda oo loogu talagalay isticmaalka hawlwadeenka "?" imtixaanada dhakhaatiirta, taasoo kuu ogolaanaysa inaad u isticmaasho kood kood ah dukumeenti ahaan imtixaan ahaan. Shaqaale hore
    "?" waxaa loo isticmaali karaa in lagu xalliyo khaladaadka inta lagu jiro fulinta tijaabada kaliya iyadoo ay jirto joogitaanka shaqada "fn main()" ama hawlaha "#[imtixaanka]";

  • Sifooyin caado ah oo lagu qeexay iyadoo la isticmaalayo macros habraaca la siiyay Awoodda isticmaalka calaamado aan sabab lahayn ("#[attr ($ tokens)]", "#[attr[$tokens]] iyo #[attr{$tokens}]"). Markii hore, canaasiirta waxaa lagu qeexi karaa oo keliya geed/qaabka soo noqnoqda iyadoo la adeegsanayo xargaha xargaha, tusaale ahaan "#[foo(bar, baz(quux, foo = "bar"))]", laakiin hadda waxaa suurtagal ah in la isticmaalo tirooyin (' #[range (0. .10)]') iyo dhismayaasha sida "#[bound(T: MyTrait)]";
  • Noocyada xasilan (sifo) Isku day ΠΈ Isku day, Oggolaanshaha beddelka nooca oo leh khalad maarayn. Tusaale ahaan, hababka ay ka midka yihiin from_be_bytes ee leh noocyada isugeynta waxay u adeegsadaan arrays ahaan gelinta ahaan, laakiin xogtu waxay inta badan ku timaadaa nooc Googo'an, iyo beddelidda inta u dhaxaysa arrays iyo jeexyo waa dhibaato in gacanta lagu sameeyo. Iyada oo la kaashanayo sifooyin cusub, hawlgalka la cayimay waxaa lagu samayn karaa duulista iyada oo la wacayo .try_into (), tusaale ahaan, "let num = u32 :: from_be_bytes(slice.try_into ()?)". Isbeddelada had iyo jeer guuleysta (tusaale, laga bilaabo nooca u8 ilaa u32), nooc khalad ah ayaa lagu daray La'aanta, ogolaanaysa isticmaalka hufan
    Isku day dhammaan hirgelinta hadda jira ee "From";

  • Shaqadii waa la joojiyay CommandExt :: ka hor_exec, kaas oo u oggolaaday maamule in la dilo ka hor inta aan la ordin exec, kaas oo lagu fuliyay macnaha habka ilmaha ee fargeetada ka dib wicitaanka (). Xaaladahan oo kale, qaar ka mid ah agabka nidaamka waalidka, sida sharraxayaasha faylka iyo meelaha xusuusta la sameeyay, waa la nuqulin karaa, taas oo u horseedi karta dhaqan aan la qeexin iyo hawlgal khaldan oo maktabadaha.
    Waxaa lagu talinayaa in la isticmaalo shaqo aan ammaan ahayn halkii ka hor_exec CommandExt :: pre_exec.

  • Noocyada isku dhafka atomiga ee saxeexan iyo kuwa aan saxeexin oo u dhexeeya cabbirkooda 8 ilaa 64 (tusaale ahaan, AtomicU8), iyo sidoo kale noocyada saxeexan NonZeroI[8|16|32|64|128].
  • Qayb cusub oo API ah ayaa loo raray qaybta deggan, oo ay ku jirto Wax kasta :: Nooca_id, Qalad :: Nooca_id, jeex :: nooc_by_cached_key, str :: baxsasho_*, str :: kala qaybsanaan_ascii_whitespace, Isla markiiba :: la hubiyay_[add|sub ] iyo hababka SystemTime waa la dajiyay ::checked_[ku dar|sub]. Iter :: laga bilaabo_fn iyo iter :: hawlaha guulaysta waa la dajiyay;
  • Dhammaan noocyada isku-darka ah, bacaha la hubiyay, saturating_pow, duubka_duubka iyo hababka biya-dhaafka ah ayaa la hirgeliyay;
  • Waxaa lagu daray awoodda lagu suurtagelinayo hagaajinta marxaladda isku xirka iyadoo la qeexayo xulashada dhismaha "-C linker-plugin-lto".

Source: opennet.ru

Add a comment