ipata 1.54 Siseto ede Tu

Itusilẹ ti ede siseto eto Rust 1.54, ti o da nipasẹ iṣẹ akanṣe Mozilla, ṣugbọn ni idagbasoke ni bayi labẹ awọn itusilẹ ti ominira ti kii ṣe èrè agbari Rust Foundation, ni a ti tẹjade. Ede naa dojukọ aabo iranti, pese iṣakoso iranti aifọwọyi, ati pese awọn ọna lati ṣaṣeyọri isọdọkan iṣẹ-ṣiṣe giga laisi lilo agbasọ idoti tabi akoko asiko (akoko asiko ti dinku si ipilẹṣẹ ipilẹ ati itọju ile-ikawe boṣewa).

Iṣakoso iranti aifọwọyi ti Rust yọkuro awọn aṣiṣe nigbati o ba n ṣakoso awọn itọka ati aabo lodi si awọn iṣoro ti o dide lati ifọwọyi iranti ipele kekere, gẹgẹ bi iraye si agbegbe iranti lẹhin ti o ti ni ominira, awọn ifọkasi ijuboluwole asan, awọn agbekọja buffer, ati bẹbẹ lọ. Lati kaakiri awọn ile-ikawe, rii daju apejọ ati ṣakoso awọn igbẹkẹle, iṣẹ akanṣe n dagbasoke oluṣakoso package Cargo. Ibi ipamọ crates.io jẹ atilẹyin fun awọn ile-ikawe alejo gbigba.

Awọn imotuntun akọkọ:

  • Ṣe afikun agbara lati lo iṣẹ-bi macros inu awọn abuda (macros ilana ati macros ti a ṣẹda nipa lilo “macro_rules!” Makiro). Iru awọn macros jẹ iyatọ si awọn iṣẹ nipasẹ aami "!" lẹhin orukọ (macro! (...)) ati rọpo ọrọ orisun Makiro dipo ti ipilẹṣẹ ipe iṣẹ kan. Pipe macros laarin awọn abuda le wulo fun pẹlu akoonu lati awọn faili miiran ni kikọ awọn asọye. Fun apẹẹrẹ, lati fi awọn akoonu inu faili README sii ati abajade ti ipaniyan iwe afọwọkọ, o le pato: #![doc = include_str!("README.md")] #[ona = concat!(env!("OUT_DIR) "), "/generated.rs")] mod ti ipilẹṣẹ;
  • Awọn iṣẹ olupilẹṣẹ ti a ṣe sinu rẹ (Intrinsics) fun pẹpẹ wasm32 ti wa ni imuduro, gbigba lilo awọn ilana SIMD ni WebAssembly. Pupọ awọn iṣẹ bii v128_bitselect wa ni ipo “ailewu” ṣugbọn diẹ ninu awọn iṣẹ ti o ṣiṣẹ pẹlu awọn itọka (fun apẹẹrẹ, v128_load) jẹ “ailewu”.
  • Lilo aiyipada ti iṣakojọpọ afikun ti pada, gbigba ọ laaye lati tun awọn ẹya ti o yipada nikan ti koodu naa pada, eyiti o le dinku akoko ti o to lati kọ iṣẹ akanṣe kan nigbati o ba tun ṣe awọn ayipada kekere. Akopọ afikun jẹ alaabo ni itusilẹ 1.52.1 nitori awọn idun ti o farapamọ ti o farahan lẹhin fifi ayẹwo afikun sii fun ikojọpọ data lati kaṣe disk.
  • Apa tuntun ti API ni a ti gbe lọ si ẹka iduro, pẹlu imuduro atẹle wọnyi:
      BTreeMap :: sinu_bọtini
    • BTreeMap :: sinu_iye
    • HashMap :: sinu_bọtini
    • HashMap :: sinu_iye
    • aaki :: wasm32
    • VecDeque :: alakomeji_search
    • VecDeque :: alakomeji_search_nipasẹ
    • VecDeque :: alakomeji_search_by_key
    • VecDeque :: partition_point
  • Awọn aṣayan ti wa ni afikun si igi-ẹru: “—prune ” lati yọ package kan kuro ninu aworan ti o gbẹkẹle, “-ijinle” lati ṣe afihan awọn eroja nikan ti ipele itẹ-ẹiyẹ ti a fun ni igi igbẹkẹle, “—awọn egbe ko si-proc- Makiro” lati tọju awọn igbẹkẹle ti awọn Makiro ilana.

orisun: opennet.ru

Fi ọrọìwòye kun