Rust 1.58 scaoileadh teanga cláir

Tá scaoileadh na teanga ríomhchláraithe ilchuspóireach Rust 1.58, a bhunaigh an tionscadal Mozilla, ach atá forbartha anois faoi choimirce na heagraíochta neamhspleách neamhbhrabúis Rust Foundation, foilsithe. Díríonn an teanga ar shábháilteacht chuimhne, soláthraíonn sí bainistíocht cuimhne uathoibríoch, agus soláthraíonn sé na modhanna chun comhthreomhaireacht ard-tasc a bhaint amach gan úsáid a bhaint as bailitheoir truflais nó am rite (laghdaítear an t-am rite go dtí túsú bunúsach agus cothabháil na leabharlainne caighdeánach).

Cuireann bainistíocht cuimhne uathoibríoch Rust deireadh le hearráidí nuair a bhíonn leideanna á n-ionramháil agus cosnaíonn sé i gcoinne fadhbanna a eascraíonn as ionramháil cuimhne ísealleibhéil, mar shampla rochtain a fháil ar réigiún cuimhne tar éis é a shaoradh, dereferences pointeoir nialasach, róchaiteachas maoláin, etc. Chun leabharlanna a dháileadh, tionól a chinntiú agus spleáchais a bhainistiú, tá an tionscadal ag forbairt bainisteoir pacáiste lasta. Tacaítear leis an stór crates.io chun leabharlanna a óstáil.

Príomh-nuálaíochtaí:

  • I mbloic formáidithe líne, chomh maith leis an gcumas a bhí ar fáil roimhe seo chun athróga a bhí liostaithe go sainráite i ndiaidh líne de réir uimhreacha agus ainm a chur in ionad, cuirtear i bhfeidhm an cumas chun aitheantóirí treallacha a ionadú tríd an slonn “{ aitheantóir}” a chur leis an líne. Mar shampla: // Tógálacha ar tugadh tacaíocht dóibh roimhe seo: println!("Dia duit, {}!", get_person()); println!("Dia duit, {0}!", get_person()); println!("Dia duit, {duine}!", person = get_person()); // anois is féidir leat ligean don duine = get_person(); println!("Dia duit, {duine}!");

    Is féidir aitheantóirí a shonrú go díreach freisin i roghanna formáidithe. ligean (leithead, cruinneas) = ​​get_format(); le haghaidh (ainm, scór) in get_scores() { println!("{name}: {scór:width$.precision$}"); }

    Oibríonn an t-ionadú nua i ngach macraí a thacaíonn le sainmhíniú formáid teaghrán, cé is moite den mhacra “scaoll!”. i leaganacha 2015 agus 2018 den teanga Rust, ina gcaitear le scaoll!("{ident}") mar theaghrán rialta (i Rust 2021 oibríonn an t-ionadú).

  • Iompraíocht an std ::próiseas ::Athraíodh struchtúr na n-orduithe ar ardán Windows ionas nach mbíonn sé ag lorg comhaid inrite san eolaire reatha agus orduithe á bhfeidhmiú aige ar chúiseanna slándála. Tá an t-eolaire reatha eisiata toisc go bhféadfaí é a úsáid chun cód mailíseach a fhorghníomhú má reáchtáiltear cláir in eolairí neamhiontaofa (CVE-2021-3013). Baineann an loighic braite inrite nua le cuardach a dhéanamh ar na heolairí Rust, ar an eolaire feidhmchlár, ar eolaire córais Windows, agus ar na heolairí atá sonraithe san athróg timpeallachta PATH.
  • Tá líon na bhfeidhmeanna marcáilte "#[must_use]" leathnaithe ag an leabharlann chaighdeánach chun rabhadh a eisiúint má dhéantar neamhaird ar an luach tuairisceáin, rud a chabhraíonn le hearráidí a aithint de bharr glacadh leis go n-athróidh feidhm luachanna seachas luach nua a thabhairt ar ais.
  • Aistríodh cuid nua den API chuig an gcatagóir de chobhsaí, lena n-áirítear modhanna agus cur i bhfeidhm na dtréithe a chobhsú:
    • Meiteashonraí::is_symlink
    • Conair::is_symlink
    • {slánuimhir}::sáithiú_div
    • Rogha:: unwrap_unchecked
    • Toradh::unwrap_dísheiceáil
    • Toradh::unwrap_err_unchecked
  • Úsáidtear an tréith “const”, a chinneann an fhéidearthacht é a úsáid in aon chomhthéacs seachas tairisigh, sna feidhmeanna:
    • Fad::nua
    • Fad:: sheiceáil_cuir leis
    • Fad::sáithithe_cuir
    • Fad:: sheiceáil_sub
    • Fad::saturating_sub
    • Fad:: sheiceáil_mul
    • Fad:: saturating_mul
    • Fad:: sheiceáil_div
  • Ceadaítear díthagairt a dhéanamh ar threoracha “*const T” i gcomhthéacsanna “const”.
  • Sa bhainisteoir pacáiste lasta, tá an réimse rust_version curtha leis na meiteashonraí pacáiste, agus tá an rogha “--message-format” curtha leis an ordú “shuiteáil lasta”.
  • Cuireann an tiomsaitheoir tacaíocht i bhfeidhm do mheicníocht cosanta an CFI (Sláine Sreabhadh Rialaithe), a chuireann seiceálacha isteach roimh gach glao indíreach chun roinnt cineálacha iompair neamhshainithe a bhrath a d'fhéadfadh sárú ar an ngnáthordú forghníomhaithe (sreabhadh rialaithe) a bheith mar thoradh air. úsáid a bhaint as saothrú a athraíonn leideanna atá stóráilte sa chuimhne ar fheidhmeanna.
  • Tá tacaíocht bhreise tugtha ag an tiomsaitheoir do leaganacha 5 agus 6 den fhormáid chomparáide clúdaigh LLVM, a úsáidtear chun clúdach cóid a mheas le linn tástála.
  • Sa tiomsaitheoir, ardaítear na ceanglais maidir leis an leagan íosta de LLVM go LLVM 12.
  • Tá an tríú leibhéal tacaíochta don ardán x86_64-unknown-none curtha i bhfeidhm. Tá tacaíocht bhunúsach i gceist leis an tríú leibhéal, ach gan tástáil uathoibrithe, foirgnimh oifigiúla a fhoilsiú, nó seiceáil an féidir an cód a thógáil.

Ina theannta sin, is féidir linn a thabhairt faoi deara foilsiú Microsoft maidir le scaoileadh Rust do leabharlanna Windows 0.30, a ligeann duit an teanga Rust a úsáid chun feidhmchláir a fhorbairt don Windows OS. Cuimsíonn an tacar dhá phacáiste gcliathbhosca (fuinneoga agus windows-sys), trínar féidir leat rochtain a fháil ar na cláir Win API in Rust. Gintear cód le haghaidh tacaíochta API go dinimiciúil ó mheiteashonraí a chuireann síos ar an API, rud a ligeann duit tacaíocht a chur i bhfeidhm, ní hamháin le haghaidh glaonna Win API atá ann cheana féin, ach le haghaidh glaonna a bheidh le feiceáil sa todhchaí. Cuireann an leagan nua tacaíocht leis an sprioc-ardán UWP (Ardán Windows Uilíoch) agus cuireann sé na cineálacha Handle and Debug i bhfeidhm.

Foinse: oscailtenet.ru

Add a comment