Ny fitantanana fitadidiana mandeha ho azy an'i Rust dia manafoana ny lesoka rehefa manodinkodina ny tondro ary miaro amin'ny olana ateraky ny fanodikodinam-pahatsiarovana ambany, toy ny fidirana amin'ny faritra fitadidiana rehefa afaka izany, ny tsy fahampian'ny pointer tsy misy tondro, ny fihoaran'ny buffer, sns. Misy mpitantana fonosana novolavolaina mba hizarana tranomboky, hiantohana ny fivoriambe ary hitantanana ny fiankinan-doha amin'ny tetikasa.
tena
- Π Π°ΡΡΠΈΡΠ΅Π½Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ
Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Β«const fnΒ», ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, Π½ΠΎ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² Π»ΡΠ±ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ. ΠΠ°Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΡΠΈΡΠ»ΡΡΡΡΡ Π½Π° ΡΡΠ°ΠΏΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, Π° Π½Π΅ Π² Ρ
ΠΎΠ΄Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π° Π½ΠΈΡ
Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΡΠ΅Π½ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ· ΠΊΠΎΠ½ΡΡΠ°Π½Ρ.
Π Π½ΠΎΠ²ΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅ ΡΠ±ΡΠ°Π½ Π·Π°ΠΏΡΠ΅Ρ Π½Π° ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡΡ Π±ΡΠ»Π΅Π²ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² (Β«&&Β» ΠΈ Β«||Β»), ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ Β«ifΒ», Β«if letΒ», Β«matchΒ»,
Β«whileΒ», Β«while letΒ» ΠΈ Β«loopΒ», Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π² ΡΡΠ΅Π·Ρ (slice, Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ) ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Β«&[T]Β». ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π² ΡΡΠ½ΠΊΡΠΈΡΡ Β«const fnΒ» ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠ½Π΅ΡΡΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΡΡΡΡΠΎΡΠΌΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π° ΡΡΠ°Π΄ΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Β«const-sha1Β» Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΡΠΈΡΠ»ΡΡΡ Ρ ΡΡΠΈ SHA-1 Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ WinRT ΠΏΡΠΈΠ²ΡΠ·ΠΎΠΊ Π΄Π»Ρ Rust ΠΏΠΎΡΡΠΈ Π² 40 ΡΠ°Π·. - ΠΠ»Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ²Π½ΠΎΡΡΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π°ΡΡΠΈΠ±ΡΡΠ° Β«#[track_caller]Β», ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ³ΠΎ Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ unwrap, Π² ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ ΠΈΡΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅ ΡΠ±ΠΎΠ΅Π² (panic) ΠΏΡΠΈ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠΈΠΏΠΎΠ². Π£ΠΊΠ°Π·Π°Π½Π½ΡΠΉ Π°ΡΡΠΈΠ±ΡΡ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ panic Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅Π³ΠΎ Π² ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΈ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅.
- ΠΡΠΈΠ·Π½Π°ΠΊ Β«constΒ», ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠΈΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² Π»ΡΠ±ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ½ Π² ΠΌΠ΅ΡΠΎΠ΄Π΅ std::mem::forget.
- Π ΡΠ°Π·ΡΡΠ΄ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅Π²Π΅Π΄Π΅Π½Π° Π½ΠΎΠ²Π°Ρ ΠΏΠΎΡΡΠΈΡ API, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Ρ Option::zip ΠΈ vec::Drain::as_slice.
- Π ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ Π‘argo
nanampy ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π½ΠΎΠ²ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ, ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΠΌΡΡ ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ°: CARGO_BIN_NAME (ΠΈΠΌΡ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°), CARGO_CRATE_NAME (ΠΈΠΌΡ ΠΏΠ°ΠΊΠ΅ΡΠ°), CARGO_PKG_LICENSE (Π»ΠΈΡΠ΅Π½Π·ΠΈΡ, ΡΠΊΠ°Π·Π°Π½Π½Π°Ρ Π² ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ΅), CARGO_PKG_LICENSE_FILE (ΠΏΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ Ρ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ).
Source: opennet.ru