Rust 1.60 Siidaynta Luuqada Barnaamijaynta

Siideynta Rust 1.60 luqadda barnaamijka guud ee ujeeddooyinka, oo uu aasaasay mashruuca Mozilla, laakiin hadda lagu horumariyay hoosta hay'adda madax-bannaan ee aan faa'iido doonka ahayn ee Rust Foundation, ayaa la daabacay. Luqadda waxay diiradda saartaa badbaadada xusuusta waxayna bixisaa siyaabaha lagu gaaro isbarbardhigga shaqada sare iyadoo laga fogaanayo isticmaalka qashinka aruuriyaha iyo wakhtiga runtime (waqtiga runtime wuxuu hoos u dhigayaa bilowga aasaasiga ah iyo dayactirka maktabadda caadiga ah).

Hababka wax ka qabashada xusuusta daxalku waxay horumariyaha ka badbaadiyaan khaladaadka marka la maamulayo tilmaamayaasha oo ay ka ilaaliyaan dhibaatooyinka ka dhasha maaraynta xusuusta heerka hoose ah, sida gelitaanka aagga xusuusta ka dib marka la sii daayo, leexinta tilmaameyaal aan waxba lahayn, dulin xad dhaaf ah, iwm. Si loo qaybiyo maktabadaha, loo bixiyo dhismayaal loona maareeyo ku-tiirsanaanta, mashruucu wuxuu horumariyaa maareeyaha xirmada xamuulka. Kaydka crates.io waxaa lagu taageeraa martigelinta maktabadaha.

Badbaadada xusuusta waxa lagu bixiyaa miridhku wakhtiga la ururinayo iyada oo la eegayo tixraaca, la socodka lahaanshaha shayga, la socodka cimriga shayga (koobyada), iyo qiimaynta saxnaanta gelitaanka xusuusta inta lagu jiro fulinta koodka. Daxalku sidoo kale wuxuu bixiyaa difaac ka dhan ah qulqulka isugeynta, wuxuu u baahan yahay bilawga qasabka ah ee qiyamka doorsooma ka hor intaan la isticmaalin, wuxuu si fiican u maareeyaa khaladaadka maktabadda caadiga ah, wuxuu dabaqaa fikradda tixraacyada aan bedeli karin iyo doorsoomayaasha si caadi ah, wuxuu bixiyaa qorid adag oo adag si loo yareeyo khaladaadka macquulka ah.

Hal-abuurka ugu muhiimsan:

  • Isku-duwaha rustc wuxuu leeyahay nidaam LLVM ku salaysan oo xasiloon oo loogu talagalay soo saarista xogta caymiska ee loo isticmaalo in lagu qiimeeyo caymiska koodhka inta lagu jiro tijaabada. Si aad awood ugu yeelatid xogta caymiska inta lagu jiro kulanka, waa inaad isticmaashaa calanka "-Cinstrument-coverage", tusaale ahaan, adigoo ku bilaabaya shirka "RUSTFLAGS="C instrument-coverage" dhisidda xamuulka. Ka dib markii la socodsiiyo faylka la fulin karo ee habkan loo soo ururiyey, faylka default.profraw waxa lagu kaydin doonaa tusaha hadda, si loo habeeyo taas oo aad isticmaali karto utility-ka lvm-profdata qaybta lvm-tools-preview. Wax soo saarka ay farsamayso llvm-profdata ayaa markaa loo gudbin karaa lvm-cov si loo soo saaro warbixinta caymiska kood la sharraxay. Macluumaadka ku saabsan isku xirka koodhka isha waxaa laga soo qaatay faylka la fulin karo ee la baarayo, kaas oo ay ku jiraan xogta lagama maarmaanka ah ee ku saabsan xiriirka ka dhexeeya xisaabiyeyaasha caymiska iyo koodka. 1| 1|fn ugu weyn() {2| 1| println! ("Hello, adduunyo!"); 3| 1|}
  • Maareeyaha xirmada xamuulka, taageerada calanka "-timeings" ayaa la dejiyay, taas oo ay ku jirto soo saarista warbixin faahfaahsan oo ku saabsan horumarka dhismaha iyo wakhtiga fulinta tallaabo kasta. Warbixintu waxa ay faa'iido u yeelan kartaa tayaynta waxqabadka nidaamka isu-tagga.
  • Maareeyaha xirmada xamuulku wuxuu bixiyaa habayn cusub oo loogu talagalay habka isku-dubarid shuruudaysan iyo xulashada ku-tiirsanaanta ikhtiyaariga ah, oo lagu habeeyay faylka Cargo.toml iyadoo lagu taxay liiska guryaha la magacaabay ee qaybta [sifooyinka] oo la hawlgeliyay iyadoo awood u siinaysa guryaha inta lagu jiro dhismaha xirmada. adigoo isticmaalaya calanka "--features". Nooca cusub wuxuu ku darayaa taageerada ku-tiirsanaanta meelo magacyo gaar ah iyo ku-tiirsanaanta daciifka ah.

    Xaaladda koowaad, waxaa suurtagal ah in la isticmaalo curiyeyaasha horgalaha "dep:" gudaha qaybta "[features]" si si cad loogu xiro ku-tiirsanaanta ikhtiyaariga ah iyada oo aan si toos ah u matalin ku tiirsanaanta sifo ahaan. Xaaladda labaad, taageerada calaamadda "?" ayaa lagu daray. ("Package-name?/Feature-name") ku tiirsanaanta ikhtiyaariga ah oo ay tahay in lagu daro kaliya haddii qaar ka mid ah hantida kale ay ku jiraan ku tiirsanaanta ikhtiyaariga ah ee la bixiyay. Tusaale ahaan, tusaalaha hoose, awoodsiinta hantida serde waxay awood u siin doontaa ku-tiirsanaanta "serde", iyo sidoo kale hantida "serde" ee ku-tiirsanaanta "rgb", laakiin waa haddii ku-tiirsanaanta "rgb" laga furo meelo kale: [ku-tiirsanaanta] serde = {nooca = " 1.0.133", ikhtiyaari = run } rgb = {nooca = "0.8.25", optional = run} [features] serde = ["dep: serde", "rgb?/serde"]

  • Taageerada isu-ururinta korodhka, ee naafada ahayd siidaynta u dambaysay, waa la soo celiyay. Cayayaanka isku-darka ah ee sababay in sifada la joojiyo waa la xaliyay.
  • Waxaa la xalliyay dhibaatooyinka qaarkood iyadoo la siinayo saacada degdega ah dammaanad qaadka wakhtiga monotonic, kaas oo ku xisaabtamaya wakhtiga uu nidaamka ku qaatay qaabka hurdada. Markii hore, OS API-ga waxa la isticmaali jiray mar kasta oo ay suurtagal tahay in lagu shaqeeyo saacada, taas oo aan xisaabta ku darsanayn xaaladaha dhibka leh ee jebiya hal-abuurka wakhtiga, sida dhibaatooyinka hardware-ka, isticmaalka maah-maahda, ama khaladaadka nidaamka hawlgalka.
  • Qayb cusub oo API ah ayaa loo raray qaybta xasiloon, oo ay ku jiraan hababka iyo hirgelinta sifooyinka la dajiyay:
    • Arc :: cusub_cyclic
    • Rc:: new_cyclic
    • jeex :: Ka baxsoAscii
    • <[u8]>:: baxsasho_ascii
    • u8:: baxsasho_ascii
    • Vec :: awood_firaaqo_mut
    • Waxaa laga yaabaa Uninit:: u malayn in_init_drop
    • Waxaa laga yaabaa Uninit:: u malayn in la akhriyo
    • i8 :: abs_diff
    • i16 :: abs_diff
    • i32 :: abs_diff
    • i64 :: abs_diff
    • i128 :: abs_diff
    • isize:: abs_diff
    • u8:: abs_diff
    • u16:: abs_diff
    • u32:: abs_diff
    • u64:: abs_diff
    • u128:: abs_diff
    • isticmaal :: abs_diff
    • Muujinta io :: ErrorKind
    • Laga soo bilaabo ExitCode
    • Ma aha ! (nooca "marna")
    • _Op_Qayb<$t>
    • arch :: waa_aarch64_sifada_la ogaaday!
  • Heerka saddexaad ee taageerada ayaa loo hirgeliyay mips64-openwrt-linux-musl* iyo armv7-unknown-linux-ulibceabi (softfloat). Heerka saddexaad wuxuu ku lug leeyahay taageerada aasaasiga ah, laakiin aan lahayn tijaabin toos ah, daabacaadda dhismayaasha rasmiga ah, iyo xaqiijinta dhisidda koodka.
  • Soo-sameeyaha ayaa loo beddelay inuu isticmaalo LLVM 14.

Intaa waxaa dheer, waxaad ogaan kartaa:

  • Taageero dheeri ah oo loogu talagalay bootstrapping compiler rustc iyadoo la adeegsanayo rustc_codegen_gcc backend, kaas oo kuu oggolaanaya inaad isticmaasho maktabadda libgccjit ee mashruuca GCC sida koodhka koodhka ee rustc, kaas oo u oggolaanaya rustc inay bixiso taageerada qaab-dhismeedka iyo hagaajinta laga heli karo GCC. Dhiirrigelinta isku-darka macneheedu waa awoodda lagu isticmaalo koodhka ku-salaysan GCC ee rustc si loo dhiso isu-duwaha rustc laftiisa. Dhanka wax ku oolka ah, qaabkani wuxuu kuu ogolaanayaa inaad dhisto barnaamijyo miridh ah oo loogu talagalay naqshadaha aan hore loo taageerin rustc.
  • Siideynta uutils coreutils 0.0.13 Toolkit ayaa diyaar ah, kaas oo analooga ah xirmada GNU Coreutils, dib loogu qoray luqadda Rust, lagu soo saarayo. Coreutils waxay la socotaa in ka badan boqol adeeg, oo ay ku jiraan nooc, bisad, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln, iyo ls. Hadafka mashruucu waa in la abuuro meel-marin beddelka ah ee Coreutils, oo awood u leh in lagu shaqeeyo Windows, Redox iyo Fuchsia dhufto ee, iyo sidoo kale qaybinta hoos timaada shatiga MIT ee oggolaanshaha, halkii laga heli lahaa shatiga koobi ee GPL.

    Nooca cusubi waxa uu wanaajiyey hirgelinta adeegyo badan, oo ay ku jiraan waafaqid si weyn loo hagaajiyey ee cp, dd, df, kala qaybsanaanta iyo tr utilities ee dhiggooda ah ee mashruuca GNU. Dukumeenti onlayn ah ayaa lagu bixiyay Baarista sacabka waxa loo isticmaalaa in lagu kala saaro doodaha laynka taliska, kaas oo wanaajiyay wax soo saarka calanka β€œ--help” oo ku daray taageerada soo gaabinta amarrada dhaadheer (tusaale, waxaad qeexi kartaa β€œls-col” beddelkii β€œls-color ”).

Source: opennet.ru

Add a comment