Mozilla ááá±á¬áá»ááºá០áááºáá±á¬ááºáá¬ážáá±á¬ Rust 1.68 á¡ááœá±ááœá±-áááºááœááºáá»áẠáááá¯ááááºážáááºážáá¬áá¬á áá¬ážááᯠáá¯ááºáá±áá²á·áá±á¬áºáááºáž ááá¯á¡áá« ááœááºáááºáá±á¬ á¡áá»áá¯ážá¡ááŒááºááá°áá±á¬ á¡ááœá²á·á¡á ááºáž Rust Foundation á áá¶á·ááá¯ážáá°áá®ááŸá¯ááŒáá·áº áá¯ááºáá±ááá¯ááºáá«áááºá áá¬áá¬á áá¬ážááẠááŸááºáá¬ááºáá±ážáááºážáá±ážááᯠá¡á¬áá¯á¶á áá¯ááºááŒá®áž á¡ááŸáá¯ááºá á¯áá±á¬ááºážáá°ááŸáá·áº runtime ááá¯á¡áá¯á¶ážááŒá¯ááŒááºážááᯠááŸá±á¬ááºááŒááºáá±á ááºááœáẠááŒáá·áºáá¬ážáá±á¬á¡áá¯ááºá¡ááŒáá¯ááºáááŸáááẠáááºážáááºážáá»á¬ážááᯠáá¶á·ááá¯ážáá±ážááẠ(runtime ááᯠá¡ááŒá±áá¶á¡á áá»áá¯ážááŒááºážááŸáá·áº á á¶á á¬ááŒáá·áºááá¯ááºááᯠááŒá¯ááŒááºááááºážááááºážááŸá¯ááá¯á· áá»áŸá±á¬á·áá»áá¬ážáááº)á
Rust á áááºááá¯áá® ááá¯ááºááœááºááŸá¯áááºážáááºážáá»á¬ážááẠááœáŸááºááŸááºáá»á¬ážááᯠá¡áá¯á¶ážáá»ááá·áºá¡áá« áá±á¬á·ááºáá²áá±ážáá¬ážáá°ááᯠá¡ááŸá¬ážá¡ááœááºážáá»á¬ážá០áááºáááºááŒá®áž á¡ááá·áºáááá·áºááŸááºáá¬áẠááá¯ááºááœááºááŸá¯ááœáẠááŒá áºáá±á«áºáá¬ááá·áº ááŒá¿áá¬áá»á¬ážááᯠáá¬ááœááºáááºá áááºážááᯠááœááºááŒá®ážááá·áºáá±á¬áẠáááºááá¯áá®á§áááá¬ááá¯á· áááºáá±á¬ááºááŒááºážá null pointers áá»á¬ážááᯠááá¯ááºážáá¶á·áá¬ážááŒááºážá ááŒá¬ážáá¶áá»á¬áž áá»á±á¬áºááœááºááŒááºážáá»á¬ážá áááºááŒáá·áº ááŒá áºáá±á«áºáá¬áá±á¬ ááŒá¿áá¬áá»á¬ážááᯠáá¬ááœááºáá±ážáá«áááºá á á¬ááŒáá·áºááá¯ááºáá»á¬ážááᯠááŒáá·áºáá±áááºá áááºáá±á¬ááºááŸá¯áá»á¬ážááŸáá·áº ááŸá®ááá¯á¡á¬ážáá¬ážááŸá¯áá»á¬ážááᯠá á®áá¶áááºá ááá±á¬áá»ááºááẠCargo package manager ááᯠáá®ááœááºáááºá crates.io repository ááᯠhosting libraries áá»á¬ážá¡ááœáẠáá¶á·ááá¯ážáá¬ážáá«áááºá
ááá¯ážáá¬ážá á áºáá±ážááŒááºážá á¡áá¬ááá¹áá¯ááá¯ááºááá¯ááºááŸá¯ááá¯ááŒá±áá¬áá¶ááŒááºážá á¡áá¬ááá¹áá¯áááºáááºážááá¯ááŒá±áá¬áá¶ááŒááºáž (scopes) ááá¯ááŒá±áá¬áá¶ááŒááºážááŸáá·áº áá¯ááºáá¯ááºáá±á¬ááºáá±á ááºá¡ááœááºáž áááºááá¯áá®áááºáá±á¬ááºááŒááºážáááŸááºáááºááŸá¯ááᯠá¡áá²ááŒááºááŒááºážáá»á¬ážááŸáá áºááá·áº Memory safety ááᯠRust ááœáẠáá¶á·ááá¯ážáá±ážáá«áááºá Rust ááẠááááºážááŒáá·áºááŒáá·áºáá»áŸá¶ááŸá¯áá»á¬ážááᯠá¡áá¬á¡ááœááºáá±ážáááºá á¡áá¯á¶ážáááŒá¯áá® ááŒá±á¬ááºážáá²ááá¯ááºáá±á¬áááºááá¯ážáá»á¬ážááᯠáááŒá áºááá±á áááºáá¯ááºáá±á¬ááºááẠááá¯á¡ááºáááºá á á¶áá áºáá»á áºááá¯ááºááœáẠááá¯ááá¯áá±á¬ááºážááœááºáá±á¬ á¡ááŸá¬ážáá»á¬ážááᯠááá¯ááºááœááºáááºá áá¯á¶áá±á¡á¬ážááŒáá·áº áááŒá±á¬ááºážáá²ááá¯ááºáá±á¬ ááá¯ážáá¬ážáá»ááºáá»á¬ážááŸáá·áº ááááºážááŸááºáá»á¬ážá ááá±á¬ááá¬ážááᯠáá»áá·áºáá¯á¶ážáááºá áá¯áá¹ááá¡ááŸá¬ážáá»á¬ážááᯠá¡áááºážáá¯á¶ážááŒá áºá á±ááẠááá¯ááºáá¯á¶áá±á¬á¡ááŒáááºá á¬ááá¯ááºááŒááºážááᯠáá¶á·ááá¯ážáá±ážáá«áááºá
á¡ááá áá®ááœááºáááºážáá áºááŸá¯áá»á¬áž-
- Cargo package manager ááŸáá·áº crates.io repository ááá¯á·ááẠrepository ááœááºááŸááá±á¬ packages áá»á¬ážá¡á¬ážáá¯á¶ážááááŸáááá¯ááºáá±á¬áá¬ážááŸááºážáá»á¬ážááá¯áááºáááºááá·áºá¡ááœáŸááºážáá
áºáá¯ááŒáá·áºá¡áá¯ááºáá¯ááºáá¯á¶á¡áá
áºááá¯áááºááŸááºáá±ážááá·áº Sparse protocol á¡ááœáẠáááºááŒáááºá¡á±á¬ááºáá¶á·ááá¯ážáá±ážáá«áááºá áááá¯ááá¯áá±á¬á¡áá
áºááẠááá·áºá¡á¬áž crates.io ááŸáá·áºá¡áá¯ááºáá¯ááºááŒááºážáá¡ááŸáááºááá¯áááááá¬áá¬ááá¯ážá
á±ááŒá®áž repository á¡ááœááºážááŸááááºáá±á·áá»áºá¡áá±á¡ááœááºáá»á¬ážááá¯ááá¯ááŒá®ážááœá¬ážáá¬ááŒááºážááŒáá·áº scaling ááŒá¿áá¬áá»á¬ážááá¯ááŒá±ááŸááºážááá¯ááºá
á±áá«áááºá
á¡ááœáŸááºážá¡ááŒáá·áºá¡á á¯á¶ááᯠáá±á«ááºážáá¯ááºáá¯ááºááŒááºážááŒá±á¬áá·áº ááŒáá·áºááŒá¬ááŸá¯áá»á¬ážááᯠáá»áŸá±á¬á·áá»áááºá Sparse ááẠááá±á¬áá»ááºáá áºáá¯á ááŸá®ááá¯ááŸá¯ááᯠáá¬ááá á±ááẠGit ááᯠá¡áá¯á¶ážááŒá¯á á¡ááœáŸááºážááᯠáááºáá±á¬ááºááŒááºážá¡á á¬áž ááá¯á¡ááºáá±á¬ á¡ááœáŸááºážááááºážáá±áá¬ááá¯áᬠHTTPS á០ááá¯ááºááá¯ááºáá±á«ááºážáá¯ááºáá¯ááºááŒááºážááœáẠáá«áááºáá«áááºá á¡ááœáŸááºážáá±áá¬ááᯠáá±ážáá±á¬ááºááẠáááºáá±á¬ááºááŸá¯á¡áá áºáá áºáá¯ááŒá áºááá·áº index.crates.io ááᯠá¡áá¯á¶ážááŒá¯áááºá áá¯á¶ááŸááºá¡á¬ážááŒáá·áºá áááá¯ááá¯áá±á¬á¡áá áºááᯠRust 1.70 áá¬áááœá²ááœáẠá¡áá¯á¶ážááŒá¯ááẠá á®á ááºáá¬ážááŒá®áž áááºážááá¯ááœáá·áºáááºá áááºááẠáááºáááºážáá»ááºááŒá±á¬ááºážáá²ááŸá¯ "CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse" ááá¯á·ááá¯áẠ'protocol =' ááá·áºáááºáá±á¬ááºááᯠ"[registries. crates-io]" á¡ááá¯ááºáž .cargo/config.toml ááá¯áẠ'áá»á²'á
- âáááºáá¶áá«ááº!â áááºáááá¯ááᯠááá·áºááœááºážáá¬ážáááºá áááºážááẠááá·áºá¡á¬áž áááºážáááŒááºáááºá áá±áá¡ááá¯áẠáááºááá¯ážááŒááºážááŒáá·áº Pin <&mut T> ááœá²á·á ááºážáá¯á¶ááᯠáááºáá®ážááá¯ááºá á±ááá·áº (Box::pin ááŸáá·áº ááá°áá²á áááºážááẠá¡ááŸáá¯ááºáá¯á¶áá±á«áºááœáẠááŸááºáá¬ááºááᯠááœá²áá±áá±ážáááºááá¯ááºáá±á¬áºáááºáž áá»ááºááŸá±á¬ááºáá¬ážáááºá stack á¡ááá·áºááŸá¬)á
- áá¯á¶ááŸááºááŸááºáá¬áẠááœá²áá±ááŸá¯ á¡ááŸá¬ážá¡ááœááºáž ááá¯ááºááœááºááŒá±ááŸááºážáá°á¡á¬áž á¡ááá¯ááŒá¯áá¬ážááŒá®ážá á á¶ááœá²áá±ááŸá¯ áááºáá±á·áá»áºááᯠá¡áá¯á¶ážááŒá¯áá±á¬á¡áá«ááœáẠá¡áá¯á¶ážááŒá¯áááºá ááŸááºáá¬ááºááœá²áá±ááŸá¯ áá¡á±á¬ááºááŒááºáá±á¬á¡áá« alloc (std ááá«áá±á¬) ááá¯áᬠááœáá·áºáá¬ážááá·áº á¡ááá®áá±ážááŸááºážáá»á¬ážááẠâ#[panic_handler]â ááᯠá¡áá¯á¶ážááŒá¯á ááŒá¬ážááŒááºááá·áºáá¬ážááá¯ááºááá·áºá¡áá¬á¡á¬áž âááááºááá·áºááŒááºáž!â ááá¯ááºááœááºáá°ááᯠáá±á«áºáá«áááºá std á á¬ááŒáá·áºááá¯ááºááᯠá¡áá¯á¶ážááŒá¯ááá·áº áááá¯ááááºáá»á¬ážááẠstderr ááŸáá·áº áá»ááºá á®ážá á±ááẠá¡ááŸá¬ážá¡ááœááºážá¡áá»ááºá¡áááºáá»á¬ážááᯠáááºáááºáá¯á¶ááŸáááºáá±áááºááŒá áºáá«áááºá
- API á á¡á
áááºá¡ááá¯ááºážá¡áá
áºááᯠáááºááŒáááºáá±á¬á¡áá»áá¯ážá¡á
á¬ážááá¯á· ááœáŸá±á·áá¬ážááŒá®ážá áááºážáááºážáá»á¬ážááŸáá·áº á
ááá¯ááºááá¹ááá¬áá»á¬ážááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºáá¬ááœáẠáááºááŒáááºá¡á±á¬ááºááŒá¯áá¯ááºáá¬ážáááº-
- {core,std}::pin::pin!
- impl From {f32,f64} á¡ááœááº
- std::áááºážááŒá±á¬ááºáž::MAIN_SEPARATOR_STR
- PathBuf á¡ááœáẠDerefMut
- ááááºážáá±áá»á¬ážá¡á á¬áž áááºááá·áºá¡ááŒá±á¬ááºážá¡áá¬ááœááºáááᯠá¡áá¯á¶ážááŒá¯ááẠááŒá áºááá¯ááºááŒá±ááᯠáá¯á¶ážááŒááºáá±ážááá·áº "const" attribute ááᯠVecDeque::new function ááœáẠá¡áá¯á¶ážááŒá¯áá«áááºá
- Android ááááºáá±á¬ááºážáá±á«áºááœááºá¡áá¯ááºáá¯ááºáááºá á¡áááºážáá¯á¶áž NDK r25 (API 19) ááᯠááᯠááá¯á¡ááºáááºá ááá¯ááá¯áááºááŸá¬á á¡áááá·áºáá¯á¶áž áá¶á·ááá¯ážáá¬ážáá±á¬ Android áá¬ážááŸááºážááᯠ4.4 (KitKat) ááá¯á· ááŒáŸáá·áºáááºáá¬ážáááºá
- ááááá¡ááá·áº áá¶á·ááá¯ážááŸá¯á¡á¬áž Sony PlayStation Vita ááááºáá±á¬ááºáž (armv7-sony-vita-newlibeabihf) á¡ááœáẠá¡áá±á¬ááºá¡áááºáá±á¬áºáá²á·áááºá ááááá¡ááá·áºááœáẠá¡ááŒá±áá¶áá¶á·ááá¯ážááŸá¯áá«áááºáá±á¬áºáááºáž á¡ááá¯á¡áá»á±á¬ááºá ááºážáááºááŒááºážáááŸááá²á ááá¬ážáááºáááºáá±á¬ááºááŸá¯áá»á¬ážááᯠáá¯ááºááŒááºááŒááºáž ááá¯á·ááá¯áẠáá¯ááºááá¯áááºáá±á¬ááºááá¯ááºáááºááŸááááŸá á á áºáá±ážááŒááºážáááŒá¯áá²ááŒá áºáááºá
source: opennet.ru