Rust garapen taldea pozik dago bere hizkuntzaren bertsio berri bat iragartzeko: 1.35. Rust programa fidagarriak eta eraginkorrak idazteko aukera ematen duen programazio-lengoaia da.
Rust instalatuta baduzu rustup bidez, komandoarekin egunera dezakezu:
$ rustup eguneraketa egonkorra
Eguneraketaren gauza nagusia Fn, FnOnce, FnMut, Box-erako itxiera-ezaugarriak ezartzea da. , Kutxa , Kutxa , hurrenez hurren. Funtzio seguruen erakusleei itxierak igortzeko gaitasuna gehitzea, dbg!() makroari deitzea posible da orain argumenturik gabe, eta liburutegi estandarra egonkortu da.
Xehetasunetara:
- Bertsio berrian Box-erako Fn, FnOnce, FnMut ezaugarrien inplementazioak gehitu ditugu , Kutxa , Kutxa , hurrenez hurren.
Orain kode honek funtzionatuko du:
fn foo(x: Kutxa u8>) -> Bec {
vec![1, 2, 3, 4].into_iter().map(x).collect()
}Box-etik ere itxi dezakezu zuzenean :
fn foo(x: Kutxa ) {
x()
} - Itxierak fn segururako erakusleetara bota daitezke orain.
Orain kode honek balio du:
/// Segurtasun aldaezinak gainditutako `unsafe fn` erakuslearenak dira.
unsafe fn call_unsafe_fn_ptr (f: unsafe fn ()) {
f()
}fn main() {
// SEGURTASUNA: Ez dago aldaezinik.
// Itxiera estatikoki eragozten da gauza ez-seguruak egitea.
seguru {
call_unsafe_fn_ptr(|| {
dbg!();
});
}
} - dbg!() makroari argumenturik gabe deitzeko gaitasuna gehitu da.
Makro honi adierazpen batzuk pasatzen badituzu, makroak bere emaitza inprimatuko du. Adibidea:
fn main() {
dezagun mut x = 0;dbg bada!(x == 1) {
x += 1;
}dbg!(x);
}Kode hau exekutatzen duzunean ikusiko duzu:
[src/main.rs:4] x == 1 = faltsua
[src/main.rs:8] x = 0Orain honela idatzi dezakezu:
fn main() {
utzi baldintza = egia;baldin baldintza {
dbg!();
}
}Kode hau exekutatzen duzunean ikusiko duzu:
[src/main.rs:5]
- Liburutegi estandarraren zati batzuk egonkortu egin dira
- F32 eta f64 metodo berriak:
- f32::copysign
- f64::copysign
Izan ere, funtzioek beste zenbaki baten zeinua kopiatzen dute. Adibidea:
fn main() {
assert_eq!(3.5_f32.copysign(-0.42), -3.5);
} - Barruti motetarako metodo berriak gehitu dira
- Barrutia::dauka
- RangeFrom::contains
- RangeTo::contains
- RangeInclusive::contains
- RangeToInclusive::contains
Metodo hauekin erraz egiaztatu dezakezu balio jakin bat sekuentzia batean dagoen:
fn main() {
bada (0..=10).contains(&5) {
println!("Zerotik hamarrean bost sartzen dira.");
}
} - Egonkortutako APIen zerrenda osoa aurki dezakezu Hemen
- F32 eta f64 metodo berriak:
- Eguneratze honetan, Clippy-k (zure kodea akats asko egiaztatzen duen programa da) drop_bounds-en egiaztapen berria gehitu du. Egiaztapen honek muga bat ezartzen duzunean funtzionatzen du: T: Jaregin - funtzio orokortuetarako:
fn foo (x:T){}T bat izatea: jaitsiera murrizketa akatsa izaten da gehienetan, mota batzuk berehala baztertzen baitira, adibidez u8. (Hori buruz gehiago irakur dezakezu Hemen)
- Hobekuntza eta konponketa asko Cargo-n (hizkuntza paketeen kudeatzailea), aldaketen zerrenda osoa
Iturria: linux.org.ru
