ipata 1.35 Siseto ede Tu

waye itusilẹ ede siseto eto Ipata 1.35, ni idagbasoke nipasẹ Mozilla ise agbese. Ede naa dojukọ aabo iranti, pese iṣakoso iranti aifọwọyi, ati pese ọna lati ṣaṣeyọri isọdọmọ iṣẹ-giga laisi lilo agbasọ idoti tabi akoko asiko.

Iṣakoso iranti aifọwọyi ti Rust n ṣe ominira oluṣe idagbasoke lati ifọwọyi ijuboluwole ati aabo lodi si awọn iṣoro ti o dide lati ifọwọyi iranti ipele-kekere, gẹgẹbi awọn iraye si iranti ọfẹ lẹhin, awọn ifisilẹ ijuboluwole asan, awọn agbekọja buffer, ati bii bẹẹ. Oluṣakoso package ti wa ni idagbasoke lati kaakiri awọn ile-ikawe, rii daju apejọ ati ṣakoso awọn igbẹkẹle nipasẹ iṣẹ akanṣe naa. laisanwo, gbigba ọ laaye lati gba awọn ile-ikawe ti o nilo fun eto naa ni titẹ kan. Ibi ipamọ jẹ atilẹyin lati gbalejo awọn ile-ikawe crates.io.

akọkọ awọn imotuntun:

  • Awọn iwa FnLọgan, FnMut и Fn muse fun okiti-soto boxed orisi Àpótí‹dyn FnOnce›, Àpótí‹dyn FnMut› àti Àpótí‹dyn Fn›;
  • Fi kun anfaani awọn pipade simẹnti si awọn itọka iṣẹ ti ko lewu (fn ti ko lewu);
  • Ti ṣe imuse agbara lati pe Makiro “dbg!” laisi awọn ariyanjiyan fun iṣafihan orukọ faili ati nọmba laini ni stderr laisi ṣayẹwo oniyipada, eyiti o rọrun fun ṣiṣatunṣe iṣẹ ti awọn ikosile ipo;
  • Ọna ti a ṣafikun " si awọn oriṣi aaye lilefoofo f32 ati f64afọwọkọ»lati daakọ kikọ lati nọmba kan si ekeji;
  • Ọna ti a fi kun "ni“, eyiti o fun ọ laaye lati ṣayẹwo boya iye pàtó kan wa laarin iwọn;
  • Ọna ti a ṣafikun Ref: Cell: map_split, gbigba ọ laaye lati ṣe afihan ati ya sọtọ iye RefCell ti a ya fun oriṣiriṣi awọn paati ti data ti a ya;
  • Ọna ti a ṣafikun RefCell :: rọpo_pẹlu lati rọpo iye RefCell lọwọlọwọ ati da iye atijọ pada bi abajade;
  • Ọna ti a ṣafikun ptr :: haṣi lati hash ijuboluwole tabi itọkasi nipasẹ adirẹsi ju iye ti a koju;
  • Ọna ti a ṣafikun Aṣayan :: daakọ lati daakọ awọn akoonu ti Aṣayan ‹&T› tabi Aṣayan ‹&mut T› awọn aṣayan;
  • Apa tuntun ti API ni a ti gbe lọ si ẹka iduro, pẹlu awọn ọna ti o ti ni imuduro
    f32 :: daakọ,
    f64 :: daakọ,
    RefCell :: rọpo_pẹlu,
    RefCell :: map_split,
    ptr :: hash,
    Ibiti :: ni ninu,
    RangeLati :: ni ninu,
    RangeTo :: ni ninu,
    RangeInclusive :: ni ninu,
    RangeToInclusive :: ni ati
    Aṣayan :: daakọ;

  • Ayẹwo drop_bounds ti fi kun si clippy (linter), eyiti o jẹ okunfa nigbati o ṣafikun “T: Ju” abuda si iṣẹ naa;
  • Olupilẹṣẹ ti ṣafikun atilẹyin fun pẹpẹ ibi-afẹde tuntun kan
    wasm32-unknown-wasi (ni wiwo WASI lati lo WebAssembly ni ita ẹrọ aṣawakiri);

  • Ohun elo Rust naa ti ni ibamu fun awọn pinpin ti o da lori ibi-ikawe C boṣewa Musl.

orisun: opennet.ru

Fi ọrọìwòye kun