Ithimba lokuthuthukisa i-Rust liyakujabulela ukumemezela inguqulo entsha yolimi lwabo: 1.35. I-Rust iwulimi lokuhlela olukuvumela ukuthi ubhale izinhlelo ezithembekile nezisebenza kahle.
Uma usuvele une-Rust efakiwe nge-rustup, ungabuyekeza ngomyalo:
$ rustup update uzinzile
Into esemqoka ekuvuselelweni ukuqaliswa kwezici zokuvala i-Fn, i-FnOnce, i-FnMut, ye-Box ,Ibhokisi ,Ibhokisi , ngokulandelana. Ukwengeza ikhono lokusakaza izikhombi emisebenzini engaphephile, ukushayela okuthi dbg!() macro manje sekungenzeka ngaphandle kwezimpikiswano, futhi umtapo wolwazi uzinzile.
Ngemininingwane:
- Enguqulweni entsha sengeze ukusetshenziswa kwezimpawu ze-Fn, FnOnce, FnMut zeBhokisi ,Ibhokisi ,Ibhokisi , ngokulandelana.
Manje le khodi izosebenza:
fn foo(x: Ibhokisi u8>) -> Vec {
vec![1, 2, 3, 4].into_iter().imephu(x).qoqa()
}Ungaphinda ushayele ukuvala ngokuqondile kusuka ku-Box :
fn foo(x: Ibhokisi ) {
x()
} - Ukuvalwa manje kungasakazwa kuzikhombi eziya ku-fn engaphephile.
Manje le khodi isivumelekile:
/// Okuhlukile kokuphepha yilezo zesikhombi esithi `engaphephile fn` esiphasisiwe.
engaphephile fn call_unsafe_fn_ptr(f: engaphephile fn()) {
f()
}i-fnmain() {
// UKUPHEPHA: Akukho okuguquguqukayo.
// Ukuvalwa kuvinjelwe ngokwezibalo ekwenzeni izinto ezingaphephile.
angiphephile {
call_unsafe_fn_ptr(|| {
dbg!();
});
}
} - Kwengezwe amandla okushayela i-dbg!() macro ngaphandle kwezingxabano.
Uma udlulisela inkulumo ethile kule macro, i-macro izophrinta umphumela wayo. Isibonelo:
i-fnmain() {
vumela u-x = 0;uma dbg!(x == 1) {
x += 1;
}dbg!(x);
}Uma usebenzisa le khodi uzobona:
[src/main.rs:4] x == 1 = amanga
[src/main.rs:8] x = 0Manje ungabhala kanje:
i-fnmain() {
vumela isimo = iqiniso;uma isimo {
dbg!();
}
}Uma usebenzisa le khodi uzobona:
[src/main.rs:5]
- Ezinye izingxenye zelabhulali ejwayelekile zizinzile
- Izindlela ezintsha ze-f32 ne-f64:
- f32::uphawu lwekhophi
- f64::uphawu lwekhophi
Empeleni, imisebenzi ikopisha uphawu lenye inombolo. Isibonelo:
i-fnmain() {
assert_eq!(3.5_f32.copysign(-0.42), -3.5);
} - Kwengezwe izindlela ezintsha zezinhlobo zobubanzi
- Ibanga::liqukethe
- IbangaKusuka::liqukethe
- IbangaLiya::liqukethe
- Ibanga elihlanganisiwe::liqukethe
- I-RangeToInclusive::iqukethe
Ngalezi zindlela ungakwazi ukuhlola kalula ukuthi inani elithile lilandelana:
i-fnmain() {
uma (0..=10).iqukethe(&5) {
println!("Okwesihlanu kufakwe kuziro ukuya kweshumi.");
}
} - Ungathola uhlu oluphelele lwama-API azinzile lapha
- Izindlela ezintsha ze-f32 ne-f64:
- Kulesi sibuyekezo, u-Clippy (Lolu wuhlelo oluhlola amaphutha amaningi ikhodi yakho) wengeze isheke elisha le- drop_bounds. Lokhu kuhlola kusebenza uma usetha umkhawulo: T: Drop - ngemisebenzi ejwayelekile:
fn fu (x:T){}Ukuba ne-T: Ukuvinjelwa kokulahla ngokuvamile kuyiphutha, njengoba ezinye izinhlobo zikhishwa ngokushesha, njenge-u8. (Ungafunda kabanzi mayelana nalokhu lapha)
- Kuningi ukuthuthukiswa nokulungiswa kweCargo (umphathi wephakeji yolimi), uhlu olugcwele lwezinguquko
Source: linux.org.ru
