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
- Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΈΠΏΠ°ΠΆΠ΅ΠΉ Π΄Π»Ρ
ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°. Π Π°Π½Π΅Π΅, ΠΈΠ·-Π·Π° Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ generic-ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΠ΅Π»ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ»Π° Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΡΠΈΠΏΠ°ΠΆΠ΅ΠΉ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ², ΡΠ°Π·ΠΌΠ΅Ρ ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ ΠΏΡΠ΅Π²ΡΡΠ°Π» 32 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° (ΡΠΈΠΏΠ°ΠΆΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π±ΡΠ»ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ). ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΡΡ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊΠΎΠ² (Β«const genericsΒ») ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ generic-ΡΡΠ½ΠΊΡΠΈΠΉ Π΄Π»Ρ Π»ΡΠ±ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π°, Π½ΠΎ ΠΎΠ½ΠΈ ΠΏΠΎΠΊΠ° Π½Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½Ρ Π² ΡΠΎΡΡΠ°Π² ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΡΠ·ΡΠΊΠ°, Ρ ΠΎΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π² ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ΅ ΠΈ ΡΠ΅ΠΏΠ΅ΡΡanjara Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ Π΄Π»Ρ ΡΠΈΠΏΠ°ΠΆΠ΅ΠΉ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°.ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ Π² Rust 1.47 ΠΏΡΠΈΠ²Π΅Π΄ΡΡ ΠΊ Π²ΡΠ²ΠΎΠ΄Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°, Ρ ΠΎΡΡ ΡΠ°Π½ΡΡΠ΅ ΠΏΡΠΈΠ²Π΅Π»Π° Π±Ρ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ΅:
fn main() {
avelao xs = [0; 34];println!(Β«{:?}Β», xs);
} - Famoahana amin'ny trace fohy kokoa (backtrace), vokatra amin'ny toe-javatra maika. Ny singa izay tsy mahaliana amin'ny ankamaroan'ny toe-javatra, fa manakorontana ny vokatra ary manelingelina ny saina amin'ny antony voalohany mahatonga ny olana, dia tsy tafiditra ao anatin'ny soritra. Mba hamerenana ny trace feno dia azonao atao ny mampiasa ny fari-piainan'ny tontolo iainana "RUST_BACKTRACE=feno". Ohatra, ho an'ny code
fn main() {
horohoro!();
}ΡΠ°Π½ΡΡΠ΅ Π²ΡΠ²ΠΎΠ΄ΠΈΠ»Π°ΡΡ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠ° Π² 23 ΡΡΠ°ΠΏΠ°, Π° ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ ΡΠ²Π΅Π΄Π΅Π½Π° ΠΊ
3 ΡΡΠ°ΠΏΠ°ΠΌ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΌ ΡΡΠ°Π·Ρ ΡΠ»ΠΎΠ²ΠΈΡΡ ΡΡΡΡ:kofehy 'main' nisahotaka tamin'ny 'panic mazava', src/main.rs:2:5
Trace backtrace:
0: std::sahirana::begin_panic
ao amin'ny /rustc/dβ¦d75a/library/std/src/panicking.rs:497
1: kianja filalaovana::main
ao amin'ny ./src/main.rs:2
2: core::ops::function::FnOnce::call_once
ao amin'ny /rustc/dβ¦d75a/library/core/src/ops/function.rs:227 - ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ rustc ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ½ Π΄ΠΎ ΡΠ±ΠΎΡΠΊΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ
LLVM 11 (Rustfampiasana LLVM Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π±ΡΠΊΠ΅Π½Π΄Π° Π΄Π»ΡΠ³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΊΠΎΠ΄Π° ). ΠΡΠΈ ΡΡΠΎΠΌ ΡΠΎΡ ΡΠ°Π½Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ±ΠΎΡΠΊΠΈ ΡΠΎ ΡΡΠ°ΡΡΠΌΠΈ LLVM, Π²ΠΏΠ»ΠΎΡΡ Π΄ΠΎ Π²Π΅ΡΡΠΈΠΈ 8, Π½ΠΎ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ (Π²rust-lang/llvm-project ) ΡΠ΅ΠΏΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ LLVM 11. Π Π΅Π»ΠΈΠ· LLVM 11 ΠΎΠΆΠΈΠ΄Π°Π΅ΡΡΡ Π² Π±Π»ΠΈΠΆΠ°ΠΉΡΠΈΠ΅ Π΄Π½ΠΈ. - ΠΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ Windows Π² ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ΅ rustc ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΠΎΠΊ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ ΠΏΠΎΡΠΎΠΊΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ (Control Flow Guard), Π°ΠΊΡΠΈΠ²ΠΈΡΡΠ΅ΠΌΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠ»Π°Π³Π° Β«-C control-flow-guardΒ». ΠΠ° Π΄ΡΡΠ³ΠΈΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ Π΄Π°Π½Π½ΡΠΉ ΡΠ»Π°Π³ ΠΏΠΎΠΊΠ° ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΡΡΡ.
- Ampahany vaovao amin'ny API no nafindra ho amin'ny sokajy stable, anisan'izany ny stabilized
Ident::new_raw,
Range::is_empty,
RangeInclusive::is_empty,
Result::as_deref,
Result::as_deref_mut,
Vec::leak,
pointer::offset_from,
f32::TAU ΠΈ
f64::TAU. - Ny toetra "const", izay mamaritra ny mety hampiasana azy amin'ny toe-javatra rehetra fa tsy constants, dia ampiasaina amin'ny fomba:
- vaovao ho an'ny isa rehetra ankoatry ny aotra;
- checked_add, checked_sub, checked_mul,checked_neg, checked_shl, checked_shr, saturating_add, saturating_sub ΠΈ saturating_mul Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΠ΅Π»ΡΡ ;
- is_ascii_alphabetic, is_ascii_uppercase, is_ascii_lowercase, is_ascii_alphanumeric, is_ascii_digit, is_ascii_hexdigit, is_ascii_punctuation, is_ascii_graphic, is_ascii_whitespace ary is_ascii_control ho an'ny karazana char sy u8.
- Ho an'ny FreeBSD
anjara ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΈΠ· FreeBSD 11.4 (FreeBSD 10 Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ LLVM 11).
Source: opennet.ru