Rust 1.61 scaoileadh teanga cláir

Tá scaoileadh na teanga ríomhchláraithe ilchuspóireach Rust 1.61, 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 do chóid tuairisceáin féin a shainiú ón bpríomhfheidhm. Ar dtús, ní fhéadfadh príomhfheidhm Rust ach cineál "()" (aonad) a thabhairt ar ais, rud a léirigh stádas scoir rathúil i gcónaí mura dtugann an forbróir an fheidhm "process::exit(code)" go sainráite. I Rust 1.26, ag baint úsáide as an tréith Foirceannadh éagobhsaí sa phríomhfheidhm, bhíothas in ann na luachanna "OK" agus "Err" a thabhairt ar ais, a fhreagraíonn do na cóid EXIT_SUCCESS agus EXIT_FAILURE i gcláir C. I Rust 1.61, tá an tréith Foirceannadh déanta cobhsaí, agus tá cineál ExitCode ar leith molta chun cód tuairisceáin ar leith a léiriú, a achoimríonn cineálacha tuairisceáin a bhaineann go sonrach le hardán trí tairisigh réamhshainithe SUCCESS and FAILURE a sholáthar, agus an modh Ó chun cód aischuir saincheaptha a thabhairt ar ais. úsáid std::próiseas::ExitCode; fn main() -> ExitCode { if !check_foo() { ais ExitCode::ó(8); } Cód Amach::SUCCESS }
  • Cobhsaíodh cumais bhreise feidhmeanna arna sainiú ag baint úsáide as an nath “const fn”, ar féidir a thabhairt ní hamháin mar fheidhmeanna rialta, ach freisin a úsáidtear in aon chomhthéacs seachas tairisigh. Ríomhtar na feidhmeanna seo ag am tiomsaithe, ní ag am rite, agus mar sin tá siad faoi réir srianta áirithe, mar shampla an cumas chun léamh ó thairisisigh amháin. Sa leagan nua, ceadaítear oibríochtaí bunúsacha le leideanna feidhme taobh istigh d'fheidhmeanna const (ceadaítear leideanna a chruthú, a rith agus a réitigh, ach gan feidhm a ghlaoch le pointeoir); teorainneacha tréithe do pharaiméadair chineálacha na bhfeidhmeanna const mar T: Cóip; tréithe inseolta dinimiciúil (dyn Trait); impl Cineálacha tréithe le haghaidh argóintí feidhme agus luachanna tuairisceáin.
  • Láimhseálann an sruth Stdin, Stdout agus Stderr i std::io tá saolré statach ("statach") anois acu nuair a bhíonn sé faoi ghlas, ag ligean do struchtúir mar "let out = std::io::stdout().lock();" le láimhseáil a fháil agus glas a shocrú i slonn amháin.
  • 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ú:
    • Bioráin::static_mut
    • PIN::static_ref
    • Vc:: coinnigh_mut
    • VecDeque:: coinnigh_mut
    • Scríobh don Chúrsóir<[u8; N]>
    • std::os::unix::net::SocketAddr::from_pathname
    • std::próiseas::ExitCode
    • std::próiseas::Foirceannadh
    • std::snáithe::JoinHandle::tá_críochnaithe
  • Úsáidtear an tréith “const”, a chinneann an fhéidearthacht é a úsáid in aon chomhthéacs seachas tairisigh, sna feidhmeanna:
    • <*const T> :: fhritháireamh agus <*mut T> :: fhritháireamh
    • <*const T> ::wrapping_offset agus <*mut T> ::wrapping_offset
    • <*const T>::cuir leis agus <*mut T> ::cuir leis
    • <*const T>::sub agus <*mut T> ::sub
    • <*const T> ::wrapping_add agus <*mut T> :: wrapping_add
    • <*const T> ::wrapping_sub agus <*mut T> :: wrapping_sub
    • <[T]> ::as_mut_ptr
    • <[T]> :: as_ptr_range
    • <[T]> :: as_mut_ptr_range

Ina theannta sin, is féidir leat an t-alt “Meirge: A Critical Retrospective” a thabhairt faoi deara le hachoimre ar imprisean na teanga Rust tar éis 100 míle líne de chód a scríobh ann le linn fhorbairt an chórais oibriúcháin microkernel Xous a úsáidtear i bhfirmware. I measc na míbhuntáistí tá comhréir deacair a thuiscint, neamhiomlán agus forbairt leanúnach na teanga, easpa tógála in-athdhéanta, fadhbanna tipiciúil le muinín spleáchais i Crates.io, agus an gá le smacht áirithe a choinneáil chun cód slán a scríobh. I measc na ngnéithe a sháraigh ionchais tá uirlisí chun cód a athmhonarú agus “hacks” a cuireadh leis le linn fréamhshamhlú tapa a athoibriú.

Foinse: oscailtenet.ru

Add a comment