ααΆααααααααααα’αααα
αα
αΆααααααααααααααααα·αααα Rust ααααααα’αααα’αα·ααααααααΈα§ααΆαααα
ααα’α»α αα·αααΆαααΆααααααΆααααΉααααα αΆαααααΎαα‘αΎαααΈααΆααααα
αα’αααα
αα
αΆαααααα·αααΆα ααΌα
ααΆααΆαα
αΌαααααΎα’αααα
αα
αΆααααααααααα ααΆαααα·αααααααα·α
ααα ααΆαααααΎαααΆαααΎαα
ααα»α αα·αα’αααΈαααααααααα αααααα·ααΈααααααααααααα
αααααα»αααααΌαααΆααααααΎαα‘αΎαααΎααααΈα
ααα
αΆααααααΆααα ααΆααΆααΆααααααΌααααα»α αα·ααααααααααααΆαα’αΆααααααααααααααα
ααααΆαα
- Π’ΠΈΠΏΠ°ΠΆΠΈ (trait)
FnOnce ,FnMut ΠΈFn ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ°Π΅ΠΌΡΡ Π² ΠΊΡΡΠ΅boxed-ΡΠΈΠΏΠΎΠ² BoxβΉdyn FnOnceβΊ, BoxβΉdyn FnMutβΊ ΠΈ BoxβΉdyn FnβΊ; - αααααα
α±ααΆα ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΡ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΠΉ ΠΊ Π½Π΅Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΌ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ (unsafe fn); - Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠ·ΠΎΠ²Π° ΠΌΠ°ΠΊΡΠΎΡΠ° Β«dbg!Β» Π±Π΅Π· Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² stderr ΠΈΠΌΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»Π° ΠΈ Π½ΠΎΠΌΠ΅ΡΠ° ΡΡΡΠΎΠΊΠΈ Π±Π΅Π· ΠΈΠ½ΡΠΏΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΡΡΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΡ ΡΡΠ»ΠΎΠ²Π½ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ;
- Π ΡΠΈΠΏΡ Π΄Π»Ρ ΡΠΈΡΠ΅Π» Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ f32 ΠΈ f64 Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΌΠ΅ΡΠΎΠ΄ Β«
copysign Β» Π΄Π»Ρ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π·Π½Π°ΠΊΠ° ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° Π² Π΄ΡΡΠ³ΠΎΠ΅; - Π ΡΠΈΠΏΡ Range* Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΌΠ΅ΡΠΎΠ΄ Β«
ααΆα Β«, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠ΅ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½; - αα·ααΈααΆααααααααααα
Ref:Cell:map_split , ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΠΎΡΡΠ°Π·ΠΈΡΡ ΠΈ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ Π·Π°ΠΈΠΌΡΡΠ²ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ RefCell Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π·Π°ΠΈΠΌΡΡΠ²ΠΎΠ²Π°Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ ; - αα·ααΈααΆααααααααααα
RefCell::replace_with Π΄Π»Ρ Π·Π°ΠΌΠ΅Π½Ρ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ RefCell ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½ΠΈΡ ΡΡΠ°ΡΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°; - αα·ααΈααΆααααααααααα
ptr::hash Π΄Π»Ρ Ρ ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΈΠ»ΠΈ ΡΡΡΠ»ΠΊΠΈ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ, Π° Π½Π΅ Π°Π΄ΡΠ΅ΡΡΠ΅ΠΌΠΎΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ; - αα·ααΈααΆααααααααααα
Option::copied Π΄Π»Ρ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΎΠΏΡΠΈΠΉ OptionβΉ&TβΊ ΠΈΠ»ΠΈ OptionβΉ&mut TβΊ; - αααααααααΈαα APIs ααααΌαααΆαααααααα
αααααααααααΆααααααααΆα αα½αααΆαααα·ααΈααΆααααααααααΆααααααααΆα
f32::copysign,
f64::copysign,
RefCell::replace_with,
RefCell::map_split,
ptr::hash,
Range::contains,
RangeFrom::contains,
RangeTo::contains,
RangeInclusive::contains,
RangeToInclusive::contains ΠΈ
Option::copied; - Π clippy (linter) Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° drop_bounds, ΡΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΠ°Ρ ΠΏΡΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ Β«T: DropΒ» Π² ΡΡΠ½ΠΊΡΠΈΡ;
- Π ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π½ΠΎΠ²ΠΎΠΉ ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ
wasm32-unknown-wasi (ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡαααΆααΆ ααΎααααΈααααΎ WebAssembly αα ααΆααααα αααααα·ααΈαα»ααα); - ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Rust Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°Π½ Π΄Π»Ρ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ² Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π‘ΠΈ-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Musl.
ααααα: opennet.ru