Rust 1.34 scaoileadh teanga cláir

tharla sé scaoileadh teanga ríomhchláraithe an chórais Meirge 1.34, arna fhorbairt ag an tionscadal Mozilla. Díríonn an teanga ar shábháilteacht chuimhne, soláthraíonn sí bainistíocht cuimhne uathoibríoch, agus cuireann sé bealach ar fáil chun comhthreomhaireacht ard-tasc a bhaint amach gan bailitheoir truflais nó am rite a úsáid.

Déanann bainistíocht cuimhne uathoibríoch Rust an forbróir a shaoradh ó ionramháil pointeora agus cosnaíonn sé i gcoinne fadhbanna a eascraíonn as ionramháil cuimhne ísealleibhéil, amhail rochtain saor ó chuimhne iar-saor in aisce, dereferences pointeoir nialasach, róchaiteachas maoláin, agus a leithéidí. Tá bainisteoir pacáiste á fhorbairt chun leabharlanna a dháileadh, tionól a chinntiú agus spleáchais an tionscadail a bhainistiú. Cargo, rud a ligeann duit na leabharlanna atá ag teastáil don chlár a fháil i gcliceáil amháin. Tacaítear le stór chun leabharlanna a óstáil cliathbhoscaí.io.

An príomh- nuálaíochtaí:

  • Tá uirlisí curtha leis ag an mbainisteoir pacáiste lasta chun oibriú le clárlanna pacáiste eile ar féidir leo a bheith ar aon dul leis an gclár poiblí crates.io. Mar shampla, is féidir le forbróirí feidhmchlár dílsithe a gclár príobháideach féin a úsáid anois, ar féidir a úsáid agus spleáchais á liostú i Cargo.toml, agus samhail leagan cosúil le crates.io a chur i bhfeidhm dá gcuid táirgí, chomh maith le spleáchais a tharchur chuig an dá chliabhán. io agus chuig do chlár féin.

    Chun clárlanna seachtracha a chur le .cargo/config (lonnaithe in $HOME nó san eolaire pacáiste)
    ar fáil alt “[clárlanna]”, agus chun clárlann sheachtrach a úsáid, tá an rogha “clárlann” le feiceáil sa chur síos ar gach spleáchas in Cargo.toml. Chun ceangal le clárlann bhreise, níl le déanamh ach an comhartha fíordheimhnithe a chur sa chomhad ~/.cargo/credentials agus rith an t-ordú
    "logáil lasta --registry=mo-chlár" agus chun pacáiste a fhoilsiú -
    "cargo publish -registry=mo-chlár";

  • Cuireadh tacaíocht iomlán leis chun an t-oibreoir “?” a úsáid. i dtrialacha dochtúirí, rud a ligeann duit cód samplach ón doiciméadú a úsáid mar thástálacha. Oibreoir roimhe seo
    "?" d’fhéadfaí é a úsáid chun earráidí a láimhseáil le linn na tástála a dhéanamh ach amháin i láthair na feidhme “fn main()” nó sna feidhmeanna “#[test]”;

  • I tréithe saincheaptha atá sainithe ag baint úsáide as macraí nós imeachta daingnithe an cumas tacair chomharthaí treallach a úsáid (“#[attr($tokens)]”, “#[attr[$tokens]] agus #[attr{$tokens}]”). Roimhe seo, níorbh fhéidir eilimintí a shonrú ach i bhfoirm chrainn/athchúrsach trí úsáid a bhaint as teaghlitreacha, mar shampla “#[foo(bar, baz(quux, foo =“bar”))]”, ach anois is féidir áireamháin a úsáid (' #[raon(0. .10)]') agus tógálacha amhail “#[bound(T: MyTrait)]”;
  • Cineálacha cobhsaithe (tréith) TryFrom и TryInto, ag ligean tiontuithe cineál le láimhseáil earráide. Mar shampla, úsáideann modhanna cosúil le from_be_bytes le cineálacha slánuimhir eagair mar ionchur, ach is minic a thagann na sonraí i gcineál Slice, agus tá sé ina fhadhb de láimh aistriú idir arrays agus slices. Le cabhair ó shaintréithe nua, is féidir an oibríocht sonraithe a dhéanamh ar an eitilt trí ghlao chuig .try_into(), mar shampla, “let num = u32::from_be_bytes(slice.try_into()?)”. I gcás tiontuithe a n-éiríonn leo i gcónaí (mar shampla, ó chineál u8 go u32), tá cineál earráide curtha leis Neamh-inghlactha, a cheadaíonn úsáid trédhearcach
    TryFrom le haghaidh gach feidhmithe reatha de "Ó";

  • Tá an fheidhm imithe i léig CommandExt ::before_exec, a cheadaigh láimhseálaí a fhorghníomhú roimh an exec a rith, a rinneadh i gcomhthéacs próisis linbh a forbraíodh tar éis an ghlao forc(). Faoi choinníollacha den sórt sin, d’fhéadfaí roinnt acmhainní den phróiseas tuismitheora, amhail tuairisceoirí comhaid agus réimsí cuimhne léarscáilithe, a mhacasamhlú, rud a d’fhéadfadh iompar neamhshainithe agus oibriú mícheart na leabharlann a bheith mar thoradh air.
    Moltar feidhm neamhshábháilte a úsáid in ionad before_exec CommandExt :: pre_exec.

  • Cineálacha slánuimhreacha adamhach cobhsaithe sínithe agus neamhshínithe ó 8 go 64 giotán (mar shampla, AdamhachU8), chomh maith le cineálacha sínithe NeamhZeroI[8|16|32|64|128].
  • Aistríodh cuid nua den API go dtí an chatagóir chobhsaí, lena n-áirítear Aon::type_id, Earráid::type_id, slice:: sort_by_cached_key, str::éalú_*, str::split_ascii_whitespace, Meandaracha::seiceáilte_[add|sub ] agus modhanna SystemTime cobhsaithe ::shecked_[add|fo]. Cobhsaíodh feidhmeanna an iter::from_fn agus iter::successors;
  • I gcás gach cineál slánuimhir, cuirtear na modhanna checked_pow, saturating_pow, wrapping_pow agus overflowing_pow i bhfeidhm;
  • Cuireadh leis an gcumas chun leas iomlán a bhaint ag an gcéim nasctha tríd an rogha tógála “-C linker-plugin-lto” a shonrú.

Foinse: oscailtenet.ru

Add a comment