Π²Π΅ΡΡΠΈΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈΡ Π΅Π·ΠΈΠΊ Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ , ΠΎΡΠ½ΠΎΠ²Π°Π½Π° ΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Mozilla. ΠΠ·ΠΈΠΊΡΡ ΡΠ΅ ΡΠΎΠΊΡΡΠΈΡΠ° Π²ΡΡΡ Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡΠ° Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΠΎΡΠΈΠ³ΡΡΡΠ²Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΠΏΠΎΡΡΠΈΠ³Π°Π½Π΅ Π½Π° Π²ΠΈΡΠΎΠΊ ΠΏΠ°ΡΠ°Π»Π΅Π»ΠΈΠ·ΡΠΌ Π½Π° Π·Π°Π΄Π°ΡΠΈ Π±Π΅Π· ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΡΠ±ΠΈΡΠ°Ρ Π½Π° ΠΎΡΠΏΠ°Π΄ΡΡΠΈ ΠΈ .
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎΡΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° Rust ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π²Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΎΡ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΈ ΠΏΡΠ΅Π΄ΠΏΠ°Π·Π²Π° ΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, ΠΏΡΠΎΠΈΠ·ΡΠΈΡΠ°ΡΠΈ ΠΎΡ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° Π½ΠΈΡΠΊΠΎ Π½ΠΈΠ²ΠΎ, ΠΊΠ°ΡΠΎ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΏΠ°ΠΌΠ΅Ρ ΡΠ»Π΅Π΄ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π²Π°Π½Π΅, Π΄Π΅ΡΠ΅ΡΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π° Π½ΡΠ»Π΅Π² ΡΠΊΠ°Π·Π°ΡΠ΅Π», ΠΏΡΠ΅ΠΏΡΠ»Π²Π°Π½Π΅ Π½Π° Π±ΡΡΠ΅Ρ ΠΈ Π΄ΡΡΠ³ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ. Π Π°Π·ΡΠ°Π±ΠΎΡΠ²Π° ΡΠ΅ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ Π·Π° ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ³Π»ΠΎΠ±ΡΠ²Π°Π½Π΅ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°. , ΠΊΠΎΠ΅ΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Ρ Π΅Π΄Π½ΠΎ ΠΊΠ»ΠΈΠΊΠ²Π°Π½Π΅. ΠΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π·Π° Ρ ΠΎΡΡΠ²Π°Π½Π΅ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ .
ΠΡΠ½ΠΎΠ²Π½Π°ΡΠ° :
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΌΠ°ΡΠΊΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΡΡΠΊΡΡΡΠΈ (struct) ΠΈ ΠΈΠ·Π±ΡΠΎΡΠ²Π°Π½ΠΈΡ (enum Ρ Π±Π»ΠΎΠΊ Variant) Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π°ΡΡΠΈΠ±ΡΡΠ° "]", ΠΊΠΎΠ΅ΡΠΎ ΠΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π±ΡΠ΄Π΅ΡΠΎ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° Π½ΠΎΠ²ΠΈ ΠΏΠΎΠ»Π΅ΡΠ° ΠΈ Π²Π°ΡΠΈΠ°Π½ΡΠΈ ΠΊΡΠΌ Π΄Π΅ΠΊΠ»Π°ΡΠΈΡΠ°Π½ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ ΠΈ ΠΈΠ·Π±ΡΠΎΡΠ²Π°Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° ΠΌΠΎΠ΄ΡΠ»ΠΈ ΡΡΡ ΡΡΡΡΠΊΡΡΡΠΈ Ρ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎ Π΄Π΅ΠΊΠ»Π°ΡΠΈΡΠ°Π½ΠΈ ΠΏΠΎΠ»Π΅ΡΠ° ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ "#[non_exhaustive]", Π·Π° Π΄Π° ΠΌΠ°ΡΠΊΠΈΡΠ°Ρ ΡΡΡΡΠΊΡΡΡΠΈ, ΠΊΡΠ΄Π΅ΡΠΎ Π½ΠΎΠ²ΠΈ ΠΏΠΎΠ»Π΅ΡΠ° ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ Π² Π±ΡΠ΄Π΅ΡΠ΅. ΠΠΎΡΠ΅Π³Π° Π² ΡΠ°ΠΊΠΈΠ²Π° ΡΠΈΡΡΠ°ΡΠΈΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡΡ Π±Π΅ΡΠ΅ ΠΏΡΠΈΠ½ΡΠ΄Π΅Π½ Π΄Π° ΠΈΠ·Π±ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°ΡΡΠ½ΠΎ Π΄Π΅ΠΊΠ»Π°ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠΎΠ»Π΅ΡΠ° ΠΈ ΠΎΠ±Π²ΡΡΠ·Π²Π°Π½Π΅ Ρ ΡΠΈΠΊΡΠΈΡΠ°Π½ ΡΠΏΠΈΡΡΠΊ Ρ ΠΏΠΎΠ»Π΅ΡΠ°. ΠΠΎΠ²ΠΈΡΡ Π°ΡΡΠΈΠ±ΡΡ ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π° ΡΠΎΠ²Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π±ΡΠ΄Π΅ΡΠΎ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° Π½ΠΎΠ²ΠΈ ΠΏΠΎΠ»Π΅ΡΠ° Π±Π΅Π· ΡΠΈΡΠΊ ΠΎΡ Π½Π°ΡΡΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½ Π²ΡΠ½ΡΠ΅Π½ ΠΊΠΎΠ΄. Π crate ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅, ΠΏΡΠΈ ΡΡΠ°Π²Π½ΡΠ²Π°Π½Π΅ Π½Π° Π²Π°ΡΠΈΠ°Π½ΡΠΈ Π² ΡΠ΅ΠΊΡΠΈΡΡΠ° "match", Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° ΠΈΠ·ΡΠΈΡΠ½Π° ΠΌΠ°ΡΠΊΠ° "_ => {...}", Π·Π° Π΄Π° ΡΠ΅ ΠΏΠΎΠΊΡΠΈΡΡ Π΅Π²Π΅Π½ΡΡΠ°Π»Π½ΠΈ Π±ΡΠ΄Π΅ΡΠΈ ΠΏΠΎΠ»Π΅ΡΠ°; Π² ΠΏΡΠΎΡΠΈΠ²Π΅Π½ ΡΠ»ΡΡΠ°ΠΉ ΡΠ΅ ΡΠ΅ Π²ΡΠ·Π½ΠΈΠΊΠ½Π΅ Π³ΡΠ΅ΡΠΊΠ° ΠΏΡΠΈ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° Π½ΠΎΠ²ΠΈ ΠΏΠΎΠ»Π΅ΡΠ°.
- ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ½ΠΈΡ ΠΌΠ°ΠΊΡΠΎΡ mac!() Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ Π½Π° ΡΠΈΠΏ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Π΅ΡΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π½Π°ΠΏΠΈΡΠ΅ΡΠ΅ βtype Foo = expand_to_type!(bar);β, Π°ΠΊΠΎ βexpand_to_typeβ Π΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ΅Π½ ΠΌΠ°ΠΊΡΠΎΡ.
- Π Π±Π»ΠΎΠΊΠΎΠ²Π΅ "extern { β¦ }" Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ½ΠΈ ΠΈ Π°ΡΡΠΈΠ±ΡΡΠ½ΠΈ ΠΌΠ°ΠΊΡΠΎΡΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΌΠ°ΠΊΡΠΎΡΠΈ "bang!()", Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΌΠ°ΠΊΡΠΎ_ΠΏΡΠ°Π²ΠΈΠ»Π°! make_item { ($name:ident) => { fn $name(); } }
Π²ΡΠ½ΡΠ΅Π½ {
make_item!(Π°Π»ΡΠ°);
make_item!(Π±Π΅ΡΠ°);
}Π²ΡΠ½ΡΠ΅Π½ "C" {
#[ΠΌΠ°ΠΊΡΠΎ_Π·Π°_ΠΌΠΎΡΡΠ°_ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΠΎΡΡ]
fn foo();
} - Π ΠΌΠ°ΠΊΡΠΎΡΠΈ ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ "macro_rules!". ΠΠ΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° "macro_rules!" Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ°ΠΊΡΠΎ Π²ΡΠ² ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎ-ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΠΌΠ°ΠΊΡΠΎΡΠΈ ("mac!()"), ΡΠ°ΠΊΠ° ΠΈ Π² ΠΌΠ°ΠΊΡΠΎΡΠΈ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° Π°ΡΡΠΈΠ±ΡΡΠΈ ("#[mac]").
- Π ΡΡΠ²ΠΏΠ°Π΄Π°ΡΠΈΡ Π΅Π»Π΅ΠΌΠ΅Π½Ρ $m:meta ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ Π·Π° ΠΈΠ·Π±ΡΠΎΡΠ²Π°Π½Π΅ Π½Π° ΡΠΎΠΊΠ΅Π½ΠΈ (β[TOKEN_STREAM]β, β{TOKEN_STREAM}β ΠΈ β(TOKEN_STREAM)β), Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΌΠ°ΠΊΡΠΎ_ΠΏΡΠ°Π²ΠΈΠ»Π°! accept_meta { ($m:meta) => {} }
accept_meta!(ΠΌΠΎΡΡ::ΠΏΡΡ);
accept_meta!(my::path = "ΠΎΡΠ²Π΅ΡΠ΅Π½");
accept_meta!(my::path(abc));
accept_meta!(my::path[abc]);
accept_meta!(my::path {abc}); - Π ΡΠ΅ΠΆΠΈΠΌ Rust 2015 Π²Π΅ΡΠ΅ Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ΠΎ Π΄ΠΎΠΊΠ»Π°Π΄Π²Π°Π½Π΅ΡΠΎ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ Π·Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, ΠΎΡΠΊΡΠΈΡΠΈ ΠΎΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°ΡΠ° Π½Π° Π·Π°Π΅ΠΌΠΊΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ° ΡΠ΅Ρ
Π½ΠΈΠΊΠ°ΡΠ° NLL (Π½Π΅Π»Π΅ΠΊΡΠΈΠΊΠ°Π»Π½ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½Π° Π½Π° ΠΆΠΈΠ²ΠΎΡ). ΠΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡΡΠ° Π±ΡΡ
Π° Π·Π°ΠΌΠ΅Π½Π΅Π½ΠΈ Ρ Π³ΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ° Π² ΡΠ΅ΠΆΠΈΠΌ Rust 2018.
Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ ΠΏΡΠΎΠΌΡΠ½Π°ΡΠ° Π±Π΅ΡΠ΅ ΡΠ°Π·ΡΠΈΡΠ΅Π½Π° Π΄ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° Rust 2015, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π°ΠΉ-Π½Π°ΠΊΡΠ°Ρ ΡΡΠΏΡΡ Π° Π΄Π° ΠΎΡ ΡΡΠ°ΡΠ°ΡΠ° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° Π·Π°Π΅ΠΌΠ°Π½Π΅.ΠΡΠΈΠΏΠΎΠΌΠ½ΡΠΌΠ΅, ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°, Π±Π°Π·ΠΈΡΠ°Π½Π° Π½Π° Π½ΠΎΠ² ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Π·Π° ΠΎΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π½Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Π½Π΅ Π½Π° Π·Π°ΠΈΠΌΡΡΠ²Π°Π½ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ, Π½Π°ΠΏΡΠ°Π²ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΎΡΡΠ°Π½Π°Ρ Π° Π½Π΅Π·Π°Π±Π΅Π»ΡΠ·Π°Π½ΠΈ ΠΎΡ ΡΡΠ°ΡΠΈΡ ΠΊΠΎΠ΄ Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°. Π’ΡΠΉ ΠΊΠ°ΡΠΎ ΠΈΠ·Ρ ΠΎΠ΄ΡΡ Π·Π° Π³ΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ ΡΠ°ΠΊΠΈΠ²Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΎΠ²Π»ΠΈΡΠ΅ Π½Π° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡΠ° Ρ ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄, ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ Π±ΡΡ Π° ΠΈΠ·Π΄Π°Π²Π°Π½ΠΈ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ Π²ΠΌΠ΅ΡΡΠΎ Π³ΡΠ΅ΡΠΊΠΈ.
- Π€Π»Π°Π³ΡΡ "const", ΠΊΠΎΠΉΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π²ΡΠ² Π²ΡΠ΅ΠΊΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠΈ, ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π° ΠΊΡΠΌ ΡΡΠ½ΠΊΡΠΈΡΡΠ° is_power_of_two (Π·Π° Π½Π΅ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ΠΈ ΡΠ΅Π»ΠΈ ΡΠΈΡΠ»Π°).
- ΠΠΎΠ²Π° ΡΠ°ΡΡ ΠΎΡ API Π΅ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ΅Π½Π° Π² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡΡΠ° βΡΡΠ°Π±ΠΈΠ»Π½ΠΈβ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·ΠΈΡΠ°Π½ΠΈΡ ΠΌΠ°ΠΊΡΠΎΡ todo!() ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈΡΠ΅ slice::repeat, mem::take, BTreeMap::get_key_value ΠΈ HashMap::get_key_value.
ΠΠΏΡΠΈΡ::as_deref, ΠΠΏΡΠΈΡ::as_deref_mut, ΠΠΏΡΠΈΡ::flatten, UdpSocket::peer_addr, {f32,f64}::to_be_bytes, {f32,f64}::to_le_bytes,{f32,f64}::to_ne_bytes, {f32,f64}::from_be_bytes, {f32,f64}::from_le_bytes ΠΈ {f32,f64}::from_ne_bytes. - Π ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡΠ° Π½Π° ΡΠΎΠ²Π°ΡΠ½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ
ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡΡΠ° Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠ° ΡΠ΅ ΠΊΠ΅ΡΠΈΡΠ°Ρ Π½Π° Π΄ΠΈΡΠΊΠ°. ΠΠΎΠΌΠ°Π½Π΄Π°ΡΠ° βcargo metadataβ Π²Π΅ΡΠ΅ ΠΈΠΌΠ° β" Π·Π° Π΄Π° ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ ΡΠ°ΠΌΠΎ ΠΏΠ°ΠΊΠ΅ΡΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΏΠΎΡΠΎΡΠ΅Π½Π°ΡΠ° ΡΠ΅Π»Π΅Π²Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°, Π² Π³ΡΠ°ΡΠΈΠΊΠ°ΡΠ° Π·Π° ΡΠ°Π·ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ. ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ http.ssl-version, Π·Π° Π΄Π° ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡΠ΅ TLS Π²Π΅ΡΡΠΈΠΈ.
ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅ΠΊΡΠΈΡΡΠ° β" Π±Π΅Π· Π΄Π° ΡΠ΅ ΠΏΠΎΡΠΎΡΠ²Π° ΠΊΠ»ΡΡΡΡ βΠ²Π΅ΡΡΠΈΡβ. - ΠΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΡΡ rustc Π²Π΅ΡΠ΅ ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π½ΠΈΠ²ΠΎ 3 Π·Π° ΡΠ΅Π»Π΅Π²ΠΈΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ thumbv7neon-unknown-linux-musleabihf, aarch64-unknown-none-softfloat, mips64-unknown-linux-muslabi64 ΠΈ mips64el-unknown-linux-muslabi64. ΠΠΈΠ²ΠΎ 3 ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΠΎΡΠ½ΠΎΠ²Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°, Π½ΠΎ Π±Π΅Π· Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°Π½ΠΎ ΡΠ΅ΡΡΠ²Π°Π½Π΅ ΠΈΠ»ΠΈ ΠΎΡΠΈΡΠΈΠ°Π»Π½ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΠΈ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
