Sgaoileadh cànain prògramaidh Rust 1.47

foillsichte sgaoileadh 1.47 de chànan prògramadh an t-siostaim meirgeadh, a stèidhich am pròiseact Mozilla. Tha an cànan ag amas air sàbhailteachd cuimhne, a’ toirt seachad riaghladh cuimhne fèin-ghluasadach, agus a’ toirt seachad dòigh air co-shìnteachd àrd-obrach a choileanadh gun a bhith a’ cleachdadh neach-cruinneachaidh sgudail и ùine ruith (tha ùine ruith a’ dol sìos gu tòiseachadh bunaiteach agus cumail suas an leabharlainn àbhaisteach).

Bidh riaghladh cuimhne fèin-ghluasadach Rust a’ cuir às do mhearachdan nuair a thathar a’ làimhseachadh chomharran agus a’ dìon an aghaidh dhuilgheadasan ag èirigh bho làimhseachadh cuimhne aig ìre ìosal, leithid faighinn gu sgìre cuimhne às deidh dha a bhith air a shaoradh, ro-aithrisean puing null, cus bufair, msaa. Thathas a’ leasachadh manaidsear pacaid gus leabharlannan a sgaoileadh, dèanamh cinnteach à co-chruinneachadh agus riaghladh eisimeileachd leis a’ phròiseact. Cargo. Tha stòr a’ faighinn taic gus aoigheachd a thoirt do leabharlannan cliathaichean.io.

prìomh innleachdan:

  • Taic air a chuir an gnìomh airson seòrsaichean arain meud neo-riaghailteach. Roimhe sin, air sgàth neo-chomas gnìomhan coitcheann a mhìneachadh airson a h-uile luach iomlan, thug an leabharlann àbhaisteach seachad taic caractar togte a-mhàin airson arrays suas gu 32 eileamaid ann am meud (bha na feartan airson gach meud air am mìneachadh gu statach). Mar thoradh air a bhith a’ cruthachadh comas-gnìomh gnèitheachas seasmhach (“const generics”), bha e comasach gnìomhan coitcheann a mhìneachadh airson meud raon sam bith, ach chan eil iad fhathast air an toirt a-steach do na feartan cànain seasmhach, ged a tha iad air an cur an gnìomh anns an inneal-cruinneachaidh agus tha iad nis an sàs anns an leabharlann àbhaisteach airson feartan sreath de mheud sam bith.

    Mar eisimpleir, clò-bhuailidh an togail a leanas ann an Rust 1.47 susbaint sreath, ged a bhiodh e air mearachd adhbhrachadh roimhe seo:

    fn prìomh() {
    leig xs = [0; 34];

    println!("{:?}", xs);
    }

  • Cho fad ‘s a bheirear a-mach lorgan nas giorra (backtrace), toradh ann an suidheachaidhean èiginneach. Tha eileamaidean nach eil inntinneach anns a 'mhòr-chuid de shuidheachaidhean, ach a tha a' cur dragh air an toradh agus a 'tarraing aire bho phrìomh adhbharan na trioblaid, air an dùnadh a-mach às an lorg. Airson lorg slàn a thilleadh, 's urrainn dhut caochladair na h-àrainneachd "RUST_BACKTRACE=làn" a chleachdadh. Mar eisimpleir, airson a 'chòd

    fn prìomh() {
    maoim!();
    }

    Roimhe sin, chaidh an lorg a thoirt a-mach ann an 23 ìrean, ach a-nis thèid a lughdachadh gu
    3 ceumannan a leigeas leat tuigse fhaighinn air an fhìrinn sa bhad:

    bha an t-snàthainn 'prìomh' a' clisgeadh aig 'explicit panic', src/main.rs:2:5
    cùl-stoc:
    0: std :: clisgeadh :: begin_panic
    aig /rustc/d…d75a/library/std/src/panicking.rs:497
    1: raon-cluiche:: prìomh
    aig ./src/main.rs:2
    2: cridhe :: ops :: gnìomh :: FnOnce :: call_once
    aig / rustc/d…d75a/library/core/src/ops/function.rs:227

  • Chaidh an compiler rustc ùrachadh gus a chleachdadh le bhith a’ cleachdadh LLVM 11 (Meirge cleachdaidhean LLVM mar chùl-raon airson ginealach còd). Aig an aon àm, tha an comas togail le LLVMn nas sine, suas ri dreach 8, air a ghleidheadh, ach gu bunaiteach (ann an meirge-lang/llvm-proiseact) a-nis a’ cleachdadh LLVM 11. Thathas an dùil gun tèid LLVM 11 a leigeil ma sgaoil anns na làithean a tha romhainn.
  • Air àrd-ùrlar Windows, tha an compiler rustc a’ toirt seachad taic airson a bhith a’ comasachadh sgrùdaidhean ionracas sruthadh smachd (Control Flow Guard), air a chuir an gnìomh a’ cleachdadh a’ bhratach “-C control-flow-guard”. Air àrd-ùrlaran eile thathas a’ seachnadh a’ bhratach seo airson a-nis.
  • Chaidh cuibhreann ùr de APIan a ghluasad chun roinn stàbaill, a’ toirt a-steach seasmhach
    Aithne :: new_raw,
    Raon:: tha_ falamh,
    RangeInclusive :: tha_ falamh,
    Toradh :: as_deref,
    Toradh :: as_deref_mut,
    Vc::leac,
    puing :: offset_from,
    f32::TAU agus
    f64::TAU.

  • Tha am feart “const”, a tha a’ dearbhadh comasachd a chleachdadh ann an co-theacsa sam bith an àite seasmhach, air a chleachdadh anns na dòighean:
    • ùr airson a h-uile h-iomlan ach a-mhàin neoni;
    • checked_add, checked_sub, checked_mul, checked_neg, checked_shl, checked_shr, saturating_add, saturating_sub agus saturating_mul airson a h-uile iomlan;
    • is_ascii_alphabetic, is_ascii_uppercase, is_ascii_lowercase, is_ascii_alphanumeric, is_ascii_digit, is_ascii_hexdigit, is_ascii_punctuation, is_ascii_graphic, is_ascii_whitespace agus is_ascii_control airson seòrsaichean char agus u8.
  • Airson FreeBSD an sàs inneal bho FreeBSD 11.4 (chan eil FreeBSD 10 a’ toirt taic do LLVM 11).

Source: fosgailtenet.ru

Cuir beachd ann