Scaoileadh an teanga ríomhchlárúcháin Rust 1.59 le tacaíocht d’iontáin tionóil

Tá scaoileadh na teanga ríomhchláraithe ilchuspóireach Rust 1.59, 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í:

  • Is féidir iatáin teanga tionóil a úsáid, a bhfuil éileamh orthu in iarratais a bhfuil gá leo forghníomhú a rialú ar leibhéal íseal nó a bheith in ann treoracha meaisín speisialaithe a úsáid. Cuirtear iatáin cóimeála leis ag baint úsáide as macraí "asm!" agus "global_asm!" ag baint úsáide as comhréir formáidithe teaghráin chun cláir a ainmniú cosúil leis an gceann a úsáidtear le haghaidh ionadú teaghrán i Rust. Tacaíonn an tiomsaitheoir le treoracha cóimeála le haghaidh ailtireachtaí x86, x86-64, ARM, AArch64 agus RISC-V. Sampla ionsáite: bain úsáid as std::arch::asm; // Méadaigh x faoi 6 ag baint úsáide as sealanna agus cuireann sé isteach let mut x: u64 = 4; neamhshábháilte { asm!( "mov {tmp}, {x}", "shl {tmp}, 1", "shl {x}, 2", "cuir {x}, {tmp}", x = inout(reg ) x, tmp = amach(reg) _, ); } dearbhú_eq!(x, 4 * 6);
  • Tacaíocht bhreise do thascanna scriosta (comhthreomhar), ina sonraítear roinnt tréithe, slisní nó struchtúir ar thaobh na láimhe clé den slonn. Mar shampla: lig (a, b, c, d, e); (a, b) = (1, 2); [c, .., d, _] = [1, 2, 3, 4, 5]; Struchtúr { e, .. } = Struchtúr { e: 5, f: 3 }; dearbhú_eq!([1, 2, 1, 4, 5], [a, b, c, d, e]);
  • Tá an cumas chun luachanna réamhshocraithe a shonrú le haghaidh const generics curtha ar fáil: struct ArrayStorage { arr: [T; N], } impl Stóráil Array { fn nua(a: T, b: T) -> ArrayStorage { ArrayStorage { arr: [a, b], } }
  • Soláthraíonn an bainisteoir pacáiste lasta rabhaidh maidir le húsáid struchtúir neamhbhailí i spleáchais a phróiseáiltear mar gheall ar earráidí sa tiomsaitheoir (mar shampla, mar gheall ar earráid, ceadaíodh réimsí struchtúir pacáilte a fháil ar iasacht i mbloic shábháilte). Ní thacófar a thuilleadh le tógálacha den sórt sin i leagan amach anseo de Rust.
  • Tá cumas ionsuite ag lasta agus rustc comhaid inrite a ghiniúint a bhfuil sonraí dífhabhtaithe bainte díobh (stiall = "debuginfo") agus siombailí (stiall = "siombailí"), gan gá le fóntais ar leith a ghlaoch. Cuirtear an socrú glantacháin i bhfeidhm tríd an bparaiméadar “stiall” in Cargo.toml: [profile.release] strip = “debuginfo”, “siombailí”
  • Díchumasaítear tiomsú incriminteach de réir réamhshocraithe. Deirtear gurb é an chúis atá le réiteach sealadach le haghaidh fabht sa tiomsaitheoir as a dtagann tuairteanna agus earráidí díscriúnaithe. Tá réiteach fabht ullmhaithe cheana féin agus cuirfear san áireamh é sa chéad eisiúint eile. Chun tiomsú incriminteach a thabhairt ar ais, is féidir leat an athróg timpeallachta RUSTC_FORCE_INCREMENTAL=1 a úsáid.
  • 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ú:
    • std::snáithe::ar fáil_comhthreomhar
    • Toradh::cóipeáladh
    • Toradh::clónáilte
    • áirse::asm!
    • áirse:: domhanda_asm!
    • ops ::ControlFlow::is_break
    • ops ::ControlFlow::is_lean
    • TryFrom do u8
    • char ::TryFromCharError (Clón, Debug, Taispeáin, PartialEq, Cóip, Eq, Earráid)
    • iter::zip
    • NonZeroU8::is_cumhacht_de_dhá
    • NonZeroU16::is_cumhacht_de_dhá
    • NonZeroU32::is_cumhacht_de_dhá
    • NonZeroU64::is_cumhacht_de_dhá
    • NonZeroU128::is_cumhacht_de_dhá
    • DoubleEndedIterator do Struchtúr Cásanna Tí
    • DoubleEndedIterator do struchtúr ToUppercase
    • TryFrom <&mut [T]> le haghaidh [T; N]
    • Struchtúr UnwindSafe for the Once
    • RefUnwindSafe for Uair
    • feidhmeanna tacaíochta neon armv8 ionsuite sa tiomsaitheoir le haghaidh aarch64
  • Úsáidtear an tréith “const”, a chinneann an fhéidearthacht é a úsáid in aon chomhthéacs seachas tairisigh, sna feidhmeanna:
    • mem ::B'fhéidir an tAonad :: as_ptr
    • mem ::B'fhéidir Aonaid :: glacadh_init
    • mem ::B'fhéidirUninit::assume_init_ref
    • ffi::CStr::from_bytes_with_nul_unchecked

Foinse: oscailtenet.ru

Ceannaigh óstáil iontaofa do shuímh le cosaint DDoS, freastalaithe VPS VDS 🔥 Ceannaigh óstáil gréasáin iontaofa le cosaint DDoS, freastalaithe VPS VDS | ProHoster