Scaoileadh teanga cláir Rust 1.74. Iniúchadh RustVMM. Athscríobh Ceanglóir i Meirge

Tá scaoileadh na teanga ríomhchláraithe ilchuspóireach Rust 1.74, 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 agus cuireann sé bealaí ar fáil chun comhthreomhaireacht ard poist a bhaint amach agus úsáid á baint as bailitheoir truflais agus am rite a sheachaint (laghdaítear am rite go buntúsú agus cothabháil na leabharlainne caighdeánach).

Sábhálann modhanna láimhseála cuimhne Rust an forbróir ó earráidí nuair a bhíonn leideanna á n-ionramháil agus cosnaíonn siad i gcoinne fadhbanna a thagann chun cinn mar gheall ar láimhseáil cuimhne ar leibhéal íseal, mar shampla rochtain a fháil ar limistéar cuimhne tar éis é a shaoradh, leideanna nialais a dhíroghnú, róchaiteachas maoláin, etc. Chun leabharlanna a dháileadh, tógáil a sholáthar agus spleáchais a bhainistiú, forbraíonn an tionscadal an bainisteoir pacáiste lasta. Tacaítear leis an stór crates.io chun leabharlanna a óstáil.

Cuirtear sábháilteacht chuimhne ar fáil i Rust ag am tiomsaithe trí sheiceáil tagartha, súil a choinneáil ar úinéireacht réad, súil a choinneáil ar shaolréanna réad (scóip), agus measúnú a dhéanamh ar cheart an rochtain chuimhne le linn fhorghníomhú an chóid. Soláthraíonn Rust cosaint freisin i gcoinne ró-shreabhadh slánuimhir, éilíonn túsú éigeantach luachanna athraitheacha roimh úsáid, láimhseálann sé earráidí níos fearr sa leabharlann caighdeánach, cuireann sé coincheap na dtagairtí agus na n-athróg do-athraithe i bhfeidhm de réir réamhshocraithe, cuireann clóscríobh statach láidir ar fáil chun earráidí loighciúla a íoslaghdú.

Príomh-nuálaíochtaí:

  • Cuireadh leis an gcumas seiceálacha lint a chumrú tríd an gcomhad Cargo.toml le léiriú an bhainisteora pacáiste. Chun socruithe lint a shainmhíniú, mar an leibhéal freagartha (forc, diúltaigh, tabhair rabhadh, ceadaigh), moltar rannóga nua “[lints]” agus “[spás oibre.lints]”, a gcuirtear athruithe san áireamh agus cinneadh á dhéanamh faoi atógáil. Mar shampla, in ionad na bratacha “-F”, “-D”, “-W” agus “-A” a shonrú agus an “#! [forbid(unsafe_code)]” agus “#![deny(clippy) á gcóimeáil nó á gcur leis :” tréithe don chód) :enum_glob_use)]" is féidir é a úsáid anois sa léiriú lasta: [lints.rust] unsafe_code = "forbid" [lints.clippy] enum_glob_use = "séanadh"
  • Chuir bainisteoir pacáiste Crate leis an gcumas fíordheimhniú a dhéanamh agus é ag nascadh le stór. Áirítear leis an dáileadh bunúsach tacaíocht chun paraiméadair fíordheimhnithe a chur i siopaí dintiúir Linux (bunaithe ar libsecret), macOS (Keychain) agus Windows (Bainisteoir Credential Windows), ach rinneadh an córas modúlach ar dtús agus ligeann duit obair a eagrú le soláthraithe éagsúla le haghaidh stóráil agus ag giniúint comharthaí, mar shampla , ullmhaíodh breiseán chun an bainisteoir pasfhocal 1Password a úsáid. D’fhéadfadh sé go mbeadh fíordheimhniú ag teastáil ón stór d’oibríocht ar bith, ní hamháin chun a dheimhniú gur foilsíodh na pacáistí. ~/.cargo/config.toml [clárlann] global-credential-providers = ["lasta:token", "lasta:libsecret"]
  • Tá an tacaíocht do réamh-mheastacháin cineál fillte (impl_trait_projections) cobhsaithe, rud a fhágann gur féidir Féin agus T::Assoc a lua i gcineálacha tuairisceáin mar "async fn" agus "->impl Trait". Timfhilleadh struchtúr<'a, T>(&'a T); // Cineálacha tuairisceáin teimhneach a luann `Féin`: impl Wrapper<'_, ()> { async fn async_fn() -> Féin { /* … */ } fn impl_trait() -> impl Iterator { /* … */ } } trait Trait< 'a> { cineál Assoc; fn new() -> Féin ::Cumann; } impl Trait < '_> le haghaidh () { cineál Assoc = (); fn new() {} } // Cineálacha tuairisceáin teimhneach a luann cineál gaolmhar: impl<'a, T: Trait<'a>> Fillteán<'a, T> { async fn mk_assoc() -> T ::Assoc { /* … */ } fn a_few_assocs() -> impl Iterator { /* … */ } }
  • 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ú:
  • Úsáidtear an tréith “const”, a chinneann an fhéidearthacht é a úsáid in aon chomhthéacs seachas tairisigh, sna feidhmeanna:
    • croí::mem::transmute_copy
    • str::is_ascii
    • [u8] ::is_ascii
    • croí::num::Sáithiú
    • impl From for std::proiseas::Stdio
    • impl From for std::proiseas::Stdio
    • impl Ó le haghaidh std :: próiseas :: Leanbh {Stdin, Stdout, Stderr}
    • impl Ó le haghaidh std :: próiseas :: Leanbh {Stdin, Stdout, Stderr}
    • std::ffi::OsString::from_encoded_bytes_unchecked
    • std::ffi::OsString::i_ionchódaithe_bytes
    • std ::ffi::OsStr::from_encoded_bytes_unchecked
    • std::ffi::OsStr::as_ionchódaithe_bytes
    • std::io::Earráid::eile
    • impl TryFrom do u16
    • impl Ó <&[T; N]>do Vec
    • impl Ó <&mut [T; N]>do Vec
    • impl Ó <[T; N]> le haghaidh Arc<[T]>
    • impl Ó <[T; N]> le haghaidh Rc<[T]>
  • Tá ceanglais mhéadaithe ag an tiomsaitheoir, an fhoireann uirlisí, an leabharlann chaighdeánach, agus na hinrite feidhmchláir ginte le haghaidh ardáin Apple, a éilíonn anois ar a laghad macOS 10.12 Sierra, iOS 10, agus tvOS 10 a scaoileadh in 2016 a rith.
  • Tá an tríú leibhéal tacaíochta curtha i bhfeidhm don ardán i686-pc-windows-gnullvm. 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.
  • Tá an dara leibhéal tacaíochta don ardán sprice loongarch64-anaithnid-none curtha i bhfeidhm. Tá ráthaíocht tionóil i gceist leis an dara leibhéal tacaíochta.

Ina theannta sin, is féidir dhá imeacht a bhaineann leis an teanga Rust a thabhairt faoi deara:

  • D'fhoilsigh an OSTIF (Ciste Feabhsaithe Teicneolaíochta Foinse Oscailte), a cruthaíodh chun slándáil na dtionscadal foinse oscailte a neartú, torthaí iniúchta ar thionscadal RustVMM, a sholáthraíonn comhpháirteanna chun hypervisors tasc-shonracha agus monatóirí meaisíní fíorúla (VMManna) a chruthú. Tá cuideachtaí ar nós Intel, Alibaba, Amazon, Google, Linaro agus Red Hat rannpháirteach i bhforbairt an tionscadail. Tá hypervisors Intel Cloud Hypervisor agus Dragonball á bhforbairt bunaithe ar RustVMM. Dhearbhaigh an t-iniúchadh ardcháilíocht an bhoinn chóid agus úsáid teicnící san ailtireacht agus sa chur chun feidhme atá dírithe ar an tslándáil uasta a bhaint amach. Le linn an iniúchta, sainaithníodh 6 fhadhb nach raibh tionchar díreach acu ar shábháilteacht.
  • Thug Google isteach cur i bhfeidhm nua de mheicníocht cumarsáide idirphróisis Binder, athscríofa sa teanga Rust, chuig liosta seoltaí fhorbróirí eithne Linux. Rinneadh an athobair mar chuid de thionscadal chun slándáil a neartú, teicnící ríomhchláraithe slán a chur chun cinn agus éifeachtúlacht fadhbanna a aithint agus iad ag obair le cuimhne Android a mhéadú (thart ar 70% de na leochaileachtaí contúirteacha go léir a aithníodh in Android is cúis le hearráidí agus iad ag obair le cuimhne. ). Tá cothroime feidhmiúlachta bainte amach ag cur i bhfeidhm Binder in Rust leis an mbunleagan sa teanga C, pasann sé gach tástáil AOSP (Tionscadal Foinse Oscailte Android) agus is féidir é a úsáid chun eagráin oibre den fhirmware a chruthú. Tá feidhmíocht an dá fheidhmiúchán thart ar an leibhéal céanna (dialltaí laistigh de -1.96% agus +1.38%).

Foinse: oscailtenet.ru

Add a comment