ИздаванС Π½Π° Π΅Π·ΠΈΠΊ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ Rust 1.65

Π•Π·ΠΈΠΊΡŠΡ‚ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ с ΠΎΠ±Ρ‰ΠΎ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Rust 1.65, основан ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Mozilla, Π½ΠΎ сСга Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π΅Π½ ΠΏΠΎΠ΄ Π΅Π³ΠΈΠ΄Π°Ρ‚Π° Π½Π° нСзависимата организация с нСстопанска Ρ†Π΅Π» Rust Foundation, бСшС пуснат. Π•Π·ΠΈΠΊΡŠΡ‚ сС фокусира Π²ΡŠΡ€Ρ…Ρƒ бСзопасността Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° ΠΈ прСдоставя срСдствата Π·Π° постиганС Π½Π° висок ΠΏΠ°Ρ€Π°Π»Π΅Π»ΠΈΠ·ΡŠΠΌ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π°, ΠΊΠ°Ρ‚ΠΎ ΡΡŠΡ‰Π΅Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ сС избягва ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΡΡŠΠ±ΠΈΡ€Π°Ρ‡ Π½Π° ΠΎΡ‚ΠΏΠ°Π΄ΡŠΡ†ΠΈ ΠΈ Π²Ρ€Π΅ΠΌΠ΅ Π·Π° изпълнСниС (Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° изпълнСниС Π΅ Π½Π°ΠΌΠ°Π»Π΅Π½ΠΎ Π΄ΠΎ основна инициализация ΠΈ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° стандартната Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°).

ΠœΠ΅Ρ‚ΠΎΠ΄ΠΈΡ‚Π΅ Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π½Π° Rust спасяват Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΎΡ‚ Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΏΡ€ΠΈ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΈ ΠΏΡ€Π΅Π΄ΠΏΠ°Π·Π²Π°Ρ‚ ΠΎΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π²ΡŠΠ·Π½ΠΈΠΊΠ²Π°Ρ‚ ΠΏΠΎΡ€Π°Π΄ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π½Π° ниско Π½ΠΈΠ²ΠΎ, ΠΊΠ°Ρ‚ΠΎ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ област Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°, слСд ΠΊΠ°Ρ‚ΠΎ тя Π΅ Π±ΠΈΠ»Π° освободСна, Π΄Π΅Ρ€Π΅Ρ„Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° Π½ΡƒΠ»Π΅Π²ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ, ΠΏΡ€Π΅ΠΏΡŠΠ»Π²Π°Π½Π΅ Π½Π° Π±ΡƒΡ„Π΅Ρ€ ΠΈ Ρ‚.Π½. Π—Π° разпространСниС Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, прСдоставянС Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ†ΠΈΠΈ ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° зависимости, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π° ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€Π° Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ Cargo. Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ crates.io сС ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° Π·Π° хостванС Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ.

БСзопасността Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π΅ осигурСна Π² Rust ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅ Ρ‡Ρ€Π΅Π· ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Ρ€Π΅Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ, прослСдяванС Π½Π° собствСността Π½Π° ΠΎΠ±Π΅ΠΊΡ‚Π°, прослСдяванС Π½Π° ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΎΡΡ‚Ρ‚Π° Π½Π° ΠΆΠΈΠ²ΠΎΡ‚ Π½Π° ΠΎΠ±Π΅ΠΊΡ‚Π° (ΠΎΠ±Ρ…Π²Π°Ρ‚ΠΈ) ΠΈ ΠΎΡ†Π΅Π½ΠΊΠ° Π½Π° корСктността Π½Π° Π΄ΠΎΡΡ‚ΡŠΠΏΠ° Π΄ΠΎ ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° изпълнСниС Π½Π° ΠΊΠΎΠ΄Π°. Rust ΡΡŠΡ‰ΠΎ осигурява Π·Π°Ρ‰ΠΈΡ‚Π° срСщу цСлочислСни ΠΏΡ€Π΅ΠΏΡŠΠ»Π²Π°Π½ΠΈΡ, изисква ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡ‚Π΅ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ ΠΏΡ€Π΅Π΄ΠΈ ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π°, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π° Π³Ρ€Π΅ΡˆΠΊΠΈΡ‚Π΅ ΠΏΠΎ-Π΄ΠΎΠ±Ρ€Π΅ Π² стандартната Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, ΠΏΡ€ΠΈΠ»Π°Π³Π° концСпцията Π·Π° Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΈ ΠΏΡ€Π΅ΠΏΡ€Π°Ρ‚ΠΊΠΈ ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π° силно статично въвСТданС Π·Π° ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° логичСскитС Π³Ρ€Π΅ΡˆΠΊΠΈ.

Основни ΠΈΠ½ΠΎΠ²Π°Ρ†ΠΈΠΈ:

  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° ΠΎΠ±Ρ‰ΠΈ асоциирани Ρ‚ΠΈΠΏΠΎΠ²Π΅ (GAT, Generic Associated Types), ΠΊΠΎΠΈΡ‚ΠΎ правят възмоТно ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° псСвдоними Π½Π° Ρ‚ΠΈΠΏΠΎΠ²Π΅, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с Π΄Ρ€ΡƒΠ³ Ρ‚ΠΈΠΏ, ΠΈ Π²ΠΈ позволяват Π΄Π° ΡΠ²ΡŠΡ€Π·Π²Π°Ρ‚Π΅ конструктори Π½Π° Ρ‚ΠΈΠΏΠΎΠ²Π΅ с характСристики. trait Foo { type Bar<'x>; }
  • Π˜Π·Ρ€Π°Π·ΡŠΡ‚ β€žlet ... elseβ€œ Π΅ Π²Π½Π΅Π΄Ρ€Π΅Π½, ΠΊΠΎΠ΅Ρ‚ΠΎ Π²ΠΈ позволява Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅ условиСто Π·Π° съвпадСниС Π½Π° шаблон Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π² ΠΈΠ·Ρ€Π°Π·Π° β€žletβ€œ ΠΈ Π΄Π° ΠΈΠ·ΠΏΡŠΠ»Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π΅Π½ ΠΊΠΎΠ΄, Π°ΠΊΠΎ ΡˆΠ°Π±Π»ΠΎΠ½ΡŠΡ‚ Π½Π΅ съвпада. let Ok(count) = u64::from_str(count_str) else { panic!("НС ΠΌΠΎΠΆΠ΅ Π΄Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π° цяло число: '{count_str}'"); };
  • Π Π°Π·Ρ€Π΅ΡˆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π° ΠΏΡ€Π΅ΠΊΡŠΡΠ²Π°Π½Π΅ Π·Π° ΠΏΡ€Π΅ΠΆΠ΄Π΅Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΈΠ·Π»ΠΈΠ·Π°Π½Π΅ ΠΎΡ‚ Π½Π°ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅, ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° Π±Π»ΠΎΠΊΠ° (Π΅Ρ‚ΠΈΠΊΠ΅Ρ‚), Π·Π° Π΄Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Ρ‚Π΅ Π±Π»ΠΎΠΊΠ°, ΠΊΠΎΠΉΡ‚ΠΎ трябва Π΄Π° бъдС ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚Π΅Π½. let result = 'block: { do_thing(); if condition_not_met() { break 'Π±Π»ΠΎΠΊ 1; } do_next_thing(); if condition_not_met() { break 'block 2; } do_last_thing(); 3};
  • Π—Π° Linux Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° ΠΎΡ‚Π΄Π΅Π»Π½ΠΎ Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° информация Π·Π° отстраняванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ (split-debuginfo), Π΄ΠΎΡΡ‚ΡŠΠΏΠ½Π° ΠΏΡ€Π΅Π΄ΠΈ Ρ‚ΠΎΠ²Π° само Π·Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° macOS. ΠšΠΎΠ³Π°Ρ‚ΠΎ посочитС опцията "-Csplit-debuginfo=unpacked", Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π·Π° debuginfo във Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ DWARF Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ записани Π² няколко ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ ΠΎΠ±Π΅ΠΊΡ‚Π½ΠΈ Ρ„Π°ΠΉΠ»Π° с Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ ".dwo". Π£ΠΊΠ°Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° "-Csplit-debuginfo=packed" Ρ‰Π΅ създадС Π΅Π΄ΠΈΠ½ΠΈΡ‡Π΅Π½ ΠΏΠ°ΠΊΠ΅Ρ‚ във Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ".dwp", ΠΊΠΎΠΉΡ‚ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π²Π° всички Π΄Π°Π½Π½ΠΈ Π·Π° debuginfo Π·Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π—Π° Π΄Π° ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°Ρ‚Π΅ debuginfo Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π² сСкцията .debug_* Π½Π° ELF ΠΎΠ±Π΅ΠΊΡ‚ΠΈ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ опцията "-Csplit-debuginfo=off".
  • Нова част ΠΎΡ‚ API Π΅ прСмСстСна Π² катСгорията Π½Π° стабилни, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΡ‚Π΅ ΠΈ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈΡ‚Π΅ Π½Π° характСристикитС са стабилизирани:
    • std::backtrace::backtrace
    • ΠžΠ±Π²ΡŠΡ€Π·Π°Π½ :: ΠΊΠ°Ρ‚ΠΎ_Ρ€Π΅Ρ„
    • std::io::read_to_string
    • <*const T>::cast_mut
    • <*mut T>::cast_const
  • ΠΡ‚Ρ€ΠΈΠ±ΡƒΡ‚ΡŠΡ‚ β€œconst”, ΠΊΠΎΠΉΡ‚ΠΎ опрСдСля Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ ΠΌΡƒ във всСки контСкст вмСсто константи, сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° във Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ <*const T&>::offset_from ΠΈ <*mut T>::offset_from
  • ΠšΠ°Ρ‚ΠΎ част ΠΎΡ‚ послСдния Π΅Ρ‚Π°ΠΏ ΠΎΡ‚ ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΠ½Π΅Ρ‚ΠΎ Π½Π° внСдряванСто Π½Π° LSP (Language Server Protocol) ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» към rust-analyzer, остарялото внСдряванС Π½Π° Rust Language Server (RLS) бСшС Π·Π°ΠΌΠ΅Π½Π΅Π½ΠΎ със ΡΡŠΡ€Π²ΡŠΡ€ Π·Π° ΠΌΡŠΠ½ΠΈΡ‡Π΅Ρ‚Π°, ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠ·Π΄Π°Π²Π° ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ с ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ към с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ Π½Π° Ρ€ΡŠΠΆΠ΄Π°.
  • По Π²Ρ€Π΅ΠΌΠ΅ Π½Π° компилация Π΅ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Π²Π³Ρ€Π°Π΄Π΅Π½ΠΎ внСдряванС Π½Π° ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π΅Π½ ΠΊΠΎΠ΄ MIR, ΠΊΠΎΠ΅Ρ‚ΠΎ ускорява ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ‚ΠΈΠΏΠΈΡ‡Π½ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ с Ρ‰Π°ΠΉΠ³ΠΈ с 3-10%.
  • Π—Π° Π΄Π° ускори ΠΏΠ»Π°Π½ΠΈΡ€Π°Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ†ΠΈΠΈ, ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ΡŠΡ‚ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ Cargo осигурява сортиранС Π½Π° Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Ρ‡Π°ΠΊΠ°Ρ‚ изпълнСниС Π² ΠΎΠΏΠ°ΡˆΠΊΠ°Ρ‚Π°.

ОсвСн Ρ‚ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΎΠ±ΡŠΡ€Π½Π΅Ρ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€Π²ΡŽΡ‚ΠΎ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π΅Π·ΠΈΠΊΠ° Rust във Volvo Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ Π½Π° Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΈ систСми. Няма ΠΏΠ»Π°Π½ΠΎΠ²Π΅ Π·Π° прСнаписванС Π½Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ ΠΈ тСстван ΠΊΠΎΠ΄ Π² Rust, Π½ΠΎ Π·Π° Π½ΠΎΠ² ΠΊΠΎΠ΄ Rust Π΅ Π΅Π΄Π½Π° ΠΎΡ‚ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π½ΠΈΡ‚Π΅ ΠΎΠΏΡ†ΠΈΠΈ Π·Π° подобряванС Π½Π° качСството ΠΏΡ€ΠΈ ΠΏΠΎ-ниски Ρ€Π°Π·Ρ…ΠΎΠ΄ΠΈ. Π Π°Π±ΠΎΡ‚Π½ΠΈ Π³Ρ€ΡƒΠΏΠΈ, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π΅Π·ΠΈΠΊΠ° Rust, са създадСни ΠΈ Π² Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π½ΠΈΡ‚Π΅ асоциации AUTOSAR (AUTomotive Open System ARchitecture) ΠΈ SAE (Society of Automotive Engineers).

Π’ допълнСниС, Π”Π΅ΠΉΠ²ΠΈΠ΄ ΠšΠ»Π°ΠΉΠ΄Π΅Ρ€ΠΌΠ°Ρ…Π΅Ρ€, Π²ΠΈΡ†Π΅ΠΏΡ€Π΅Π·ΠΈΠ΄Π΅Π½Ρ‚ ΠΏΠΎ инТСнСрството Π½Π° Google, Π³ΠΎΠ²ΠΎΡ€ΠΈ Π·Π° ΠΏΡ€Π΅Π²ΠΎΠ΄Π° Π½Π° ΠΊΠΎΠ΄Π°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Android Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π΅ Π·Π° ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½Π΅, Π² Rust, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Rust ΠΏΡ€ΠΈ внСдряванСто Π½Π° DNS ΠΏΡ€Π΅Π· HTTPS ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π² стСка Π·Π° UWB-Ρ‡ΠΈΠΏΠΎΠ²Π΅ (Ultra-Wideband) ΠΈ Π² Ρ€Π°ΠΌΠΊΠ°Ρ‚Π° Π·Π° виртуализация (Android Virtualization Framework), ΡΠ²ΡŠΡ€Π·Π°Π½Π° с Ρ‡ΠΈΠΏΠ° Tensor G2. Нови стСковС Π·Π° Bluetooth ΠΈ Wi-Fi, прСнаписани Π½Π° Rust, ΡΡŠΡ‰ΠΎ сС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‚ Π·Π° Android. ΠžΠ±Ρ‰Π°Ρ‚Π° стратСгия Π΅ постСпСнно ΡƒΠΊΡ€Π΅ΠΏΠ²Π°Π½Π΅ Π½Π° сигурността, ΠΏΡŠΡ€Π²ΠΎ Ρ‡Ρ€Π΅Π· ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π°Π½Π΅ Π½Π° Π½Π°ΠΉ-уязвимитС ΠΈ ΠΆΠΈΠ·Π½Π΅Π½ΠΎΠ²Π°ΠΆΠ½ΠΈ софтуСрни ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ Π² Rust ΠΈ слСд Ρ‚ΠΎΠ²Π° Ρ€Π°Π·ΡˆΠΈΡ€ΡΠ²Π°Π½Π΅ към Π΄Ρ€ΡƒΠ³ΠΈ ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ подсистСми. ΠœΠΈΠ½Π°Π»Π°Ρ‚Π° Π³ΠΎΠ΄ΠΈΠ½Π° Π΅Π·ΠΈΠΊΡŠΡ‚ Rust бСшС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Π² списъка с Π΅Π·ΠΈΡ†ΠΈ, Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π΅ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Android.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€