Navoaka ny fiteny fandaharana Rust 1.63 amin'ny tanjona ankapobeny, naorin'ny tetikasa Mozilla saingy novolavolaina ankehitriny eo ambany fiahian'ny fikambanana tsy miankina Rust Foundation. Mifantoka amin'ny fiarovana ny fitadidiana ilay fiteny ary manome fitaovana ahafahana manatratra ny fitovian'ny asa avo lenta sady misoroka ny fampiasana mpanangom-pako sy ny fotoana fandehanana (ahena ny fotoana fampandehanana amin'ny fanombohana fototra sy fikojakojana ny tranomboky mahazatra).
Ny fomba fitantanana fitadidian'i Rust dia mamonjy ny mpamorona amin'ny hadisoana rehefa manodinkodina ny tondro ary miaro amin'ny olana mipoitra noho ny fikarakarana fitadidiana ambany, toy ny fidirana amin'ny faritra fitadidiana rehefa afaka izany, ny fanafoanana ireo tondro tsy misy dikany, ny fihoaran'ny buffer, sns. Mba hizarana trano famakiam-boky, manome fananganana ary mitantana ny fiankinan-doha, ny tetikasa dia mamolavola ny mpitantana fonosana Cargo. Ny tahiry crates.io dia tohanana amin'ny fampiantranoana tranomboky.
Ny fiarovana ny fitadidiana dia omena ao amin'ny Rust amin'ny fotoana fanangonana amin'ny alàlan'ny fanamarinana reference, ny fanaraha-maso ny fananana zavatra, ny fanaraha-maso ny androm-piainan'ny zavatra (scopes), ary ny fanombanana ny fahamarinan'ny fidirana fahatsiarovana mandritra ny famonoana ny code. Ny Rust koa dia manome fiarovana amin'ny fihoaran'ny integer, mitaky fanombohana tsy maintsy atao ny soatoavina miovaova alohan'ny fampiasana, mitantana ny lesoka tsara kokoa ao amin'ny tranomboky mahazatra, mampihatra ny foto-kevitry ny references sy ny variables tsy miova amin'ny alàlan'ny default, manolotra fanoratana static mahery mba hampihenana ny fahadisoana lojika.
Fanavaozana lehibe:
- Nampiana ny std::thread::scope API, izay ahafahanao mamorona kofehy scoped. Tsy toy ny kofehy efa nisy teo aloha, ny std::thread::scope API vaovao dia mamela ny fampindramam-bola tsy mitongilana, fa ny kofehy noforonina tamin'ny fampiasana ny std::thread::spawn API dia tsy maintsy manana ny tohan-kevitra rehetra nandalo ary tsy afaka nandray. variables nindramina. Ny std::thread::scope API dia miantoka fa izay kofehy mipoitra dia tapaka alohan'ny hamerenana ny angona, manome fiarovana ampy ho an'ny rafitra fampindramam-bola.
- Natolotra ny karazana fonosana vaovao ho an'ny mpamoritra rakitra - BorrowedFd sy OwnedFd, izay manome fampindramam-bola sy fananana. Ny karazana dia voamarika amin'ny "#[repr(mangarahara)]", ahafahan'izy ireo ampiasaina mivantana amin'ny fatorana C ivelany amin'ny fomba ahafantarana ny tompony.
- Nomena fahafahana hiantso ny Condvar ::vaovao, Mutex ::vaovao ary RwLock ::vaovao amin'ny tontolon'ny tsy miova mba hamoronana sanda Mutex, RwLock ary Condvar manerantany tsy misy fampiasana fonosana lazy_static.
- Ho an'ny fiasa toy ny fn foo (value: T, f: impl Copy) azo atao ny syntax toy ny “foo::”. (32, 3)", manondro mazava ny karazana generic.
- Vita ny fifindrana mankany amin'ny fampiasana ny teknika NLL (Non-Lexical Lifetimes) hamantarana ireo olana amin'ny fari-pindram-bola. Ny NLL dia mandinika ny haavon'ny tondro maromaro ao amin'ny tabilaon'ny fizotran'ny famonoana, izay ahafahana mampitombo ny kalitaon'ny fanamarinana ho an'ny fari-pindram-bola (mindram-bola) ary mamela ny famonoana karazana kaody marina, ny fampiasana ny izay nitarika fahadisoana teo aloha. Ny fanohanana ny mekanika taloha izay nampiasa ny fatorana amin'ny androm-piainana lexical dia nesorina tanteraka tamin'ny rustc, ary nampiharina ny fampiasana ny NLL vaovao.
- Ny ampahany vaovao amin'ny API dia nafindra ho amin'ny sokajy stable, ao anatin'izany ny fomba sy ny fampiharana ny toetra efa niorina:
- array::avy_fn
- Box::into_pin
- BinaryHeap:: try_reserve
- BinaryHeap:: try_reserve_exact
- OsString :: try_reserve
- OsString :: try_reserve_exact
- PathBuf::try_reserve
- PathBuf:: try_reserve_exact
- Lalana::try_exists
- Ref::sarintany_sivana
- RefMut::filtr_map
- NonNull::<[T]>::len
- ToOwned::clone_into
- IPv6Addr::to_ipv4_mapped
- unix::io::AsFd
- unix::io::BorrowedFd<'fd>
- unix::io::OwnedFd
- windows::io::AsHandle
- windows::io::BorrowedHandle
Source: opennet.ru
