Lëshimi i gjuhës së programimit Rust 1.54

Ëndrr kondita e programimit Rust 1.54 Ă«shtĂ« publikuar, e cila Ă«shtĂ« zhvilluar fillimisht nga projekti Mozilla, por tani Ă«shtĂ« duke u zhvilluar nĂ«n mbikĂ«qyrjen e njĂ« organizate tĂ« pavarur dhe joqeveritare, Rust Foundation. Gjuha fokusohet nĂ« menaxhimin e sigurt tĂ« memories, ofron menaxhim automatik tĂ« memories dhe siguron mjete pĂ«r arritjen e njĂ« paralelizmi tĂ« lartĂ« nĂ« ekzekutimin e detyrave, duke shmangur pĂ«rdorimin e mbledhĂ«sit tĂ« plehrave dhe runtime (runtime reduktohet nĂ« inicializimin themelor dhe mbĂ«shtetje tĂ« bibliotekĂ«s standarde).

Menaxhimi automatik i memories në Rust e shpëton zhvilluesin nga gabimet gjatë manipulimit të treguesve dhe mbron nga probleme që lindin nga puna në nivel të ulët me memorien, si aksesimi në një zonë të memories pas çlirimit të saj, dereferimi i treguesve nul, dalja jashtë kufijve të buffers dhe të tjerë. Për shpërndarjen e bibliotekave, sigurinë e ndërtimit dhe menaxhimin e varësive, projekti zhvillon menaxherin e pakove Cargo. Për hostimin e bibliotekave, mbështetet repozitari crates.io.

TĂ« rejat kryesore:

  • ËshtĂ« shtuar mundĂ«sia e pĂ«rdorimit tĂ« brendshĂ«m nĂ« atributet e makros, qĂ« duken si funksione (makro procedurale dhe makro tĂ« krijuara me makron «macro_rules!»). KĂ«to makros dallohen nga funksionet me simbolin «!» pas emrit (macro!(
)) dhe zĂ«vendĂ«simin e tekstit tĂ« origjinĂ«s sĂ« makros nĂ« vend tĂ« krijimit tĂ« thirrjes sĂ« funksionit. Thirrja e makros brenda atyre atributeve mund tĂ« jetĂ« e dobishme pĂ«r tĂ« pĂ«rfshirĂ« pĂ«rmbajtje nga skedarĂ« tĂ« tjerĂ« nĂ« komente dokumentuese. PĂ«r shembull, pĂ«r tĂ« futur pĂ«rmbajtjen e skedarit README dhe rezultatin e ekzekutimit tĂ« skriptit, mund tĂ« specifikohet: #![doc = include_str!(«README.md»)] #[path = concat!(env!(«OUT_DIR»), «/generated.rs»)] mod generated;
  • Funksionet e ndĂ«rtuara nĂ« kompilator (Intrinsics) pĂ«r platformĂ«n wasm32 janĂ« stabilizuar, duke lejuar pĂ«rdorimin e instruksioneve SIMD nĂ« WebAssembly. Shumica e funksioneve, si v128_bitselect, janĂ« tĂ« disponueshme nĂ« modin «safe», por disa funksione qĂ« punojnĂ« me tregues (p.sh., v128_load) mbeten «unsafe».
  • ËshtĂ« rikthyer aplikimi i parazgjedhur i kompilimit inkremental, qĂ« lejon rikompilimin vetĂ«m tĂ« pjesĂ«ve tĂ« kodit qĂ« kanĂ« ndryshuar, duke e lejuar kĂ«shtu tĂ« reduktohet ndjeshĂ«m koha e ndĂ«rtimit tĂ« projektit pas rikompilimeve pas ndryshimeve tĂ« vogla. Kompilimi inkremental ishte çaktivizuar nĂ« versionin 1.52.1 pĂ«r shkak tĂ« zbulimit tĂ« gabimeve tĂ« fshehura qĂ« u shfaqĂ«n pas shtimit tĂ« verifikimeve tĂ« tjera pĂ«r ngarkimin e tĂ« dhĂ«nave nga memoria e diskut.
  • NjĂ« grup i ri i API-ve Ă«shtĂ« kaluar nĂ« statusin stabil, pĂ«rfshirĂ« stabilizimin e:
      BTreeMap::into_keys
  • BTreeMap::into_values
  • HashMap::into_keys
  • HashMap::into_values
  • arch::wasm32
  • VecDeque::binary_search
  • VecDeque::binary_search_by
  • VecDeque::binary_search_by_key
  • VecDeque::partition_point
  • NĂ« cargo-tree janĂ« shtuar opsionet: «—prune <spec>» pĂ«r tĂ« hequr njĂ« paketĂ« nga grafiku i varĂ«sive, «—depth» pĂ«r tĂ« nxjerrĂ« vetĂ«m elementĂ«t e nivelit tĂ« caktuar tĂ« thellĂ«sisĂ« nĂ« pemĂ«n e varĂ«sive, «—edges no-proc-macro» pĂ«r tĂ« fshehur varĂ«sitĂ« e makros procedurale.

    Burimi: opennet.ru

  • Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster