ipata 1.42 Siseto ede Tu

atejade itusilẹ ede siseto eto Ipata 1.42, ti a da nipasẹ iṣẹ akanṣe Mozilla. Ede naa dojukọ aabo iranti, pese iṣakoso iranti aifọwọyi, ati pese awọn irinṣẹ lati ṣaṣeyọri isọdọkan iṣẹ-ṣiṣe giga laisi lilo ikojọpọ idoti ati 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:

  • Fi kun atilẹyin fun awọn awoṣe fun ibaamu awọn ẹya ara ti awọn ege (awọn ohun elo ti o ni agbara, bibẹ). Ni iṣaaju, awọn ibaamu deede ni a gba laaye, ṣugbọn nisisiyi o ṣee ṣe lati lo awọn itumọ ti samisi "..." lati bo awọn eroja ti o ku ti orun naa. Fun apere:

    fn foo(awọn ọrọ: &[&str]) {
    awọn ọrọ baramu {

    // sọwedowo awọn ni ibẹrẹ eroja ti awọn orun ati ki o foju
    awọn eroja ti o tẹle wọn
    ["Hello", "Ayé", "!", ..] => println!("Hello Ayé!"),

    // sọwedowo akọkọ meji eroja "Foo" ati "Bar", ati awọn iyokù ni ko pataki
    ["Foo", "Pẹpẹ", ..] => println!("Baz"),

    // foju ohun gbogbo, ṣugbọn awọn ti o kẹhin ano gbọdọ jẹ "!".
    [.., “!”] => println!(“!!!”),

    // ninu bibẹ ibẹrẹ a pẹlu ohun gbogbo ayafi ipin ti o kẹhin, eyiti o yẹ ki o jẹ “z”
    [start @ .., "z"] => println!("bẹrẹ pẹlu: {:?}", bere),

    // ni opin bibẹ a fi ohun gbogbo ayafi akọkọ ano, eyi ti o yẹ ki o jẹ "a".
    ["a", ipari @ ..] => println!("o pari pẹlu: {:?}", ipari),

    isinmi => println!("{:?}", isinmi),
    }
    }

  • Ti ṣafikun Makiro tuntun “awọn ere-kere!”, eyiti o gba ikosile ati apẹrẹ kan bi titẹ sii, ti o tun pada “otitọ” ti apẹrẹ ba baamu ọrọ naa. Awoṣe le lo awọn iṣẹ-ṣiṣe "|". ati "ti o ba".

    baramu self.partial_cmp(miiran) {
    Diẹ ninu (Kere) => otitọ,
    _ => iro,
    }

    ibaamu!(self.partial_cmp(miiran), Diẹ ninu (Kekere))

    jẹ ki foo = 'f';
    assert! (awọn ibaamu! (foo, 'A'..='Z' | 'a'..='z'));

    jẹ ki bar = Diẹ ninu awọn (4);
    assert! (awọn ere-kere! (ọgọ, Diẹ ninu awọn (x) ti x> 2));

  • Ninu awọn ifiranšẹ ijaaya ti han nigba lilo ti ko tọ
    Awọn oriṣi Aṣayan ati Abajade, awọn nọmba laini ti han bayi pẹlu ọna asopọ si koodu ti o ṣe ipe iṣoro, dipo awọn ọna asopọ si koodu ti n ṣe imuse ipe ni libcore. Fun apẹẹrẹ, iyipada yoo kan awọn ipe lati ṣii ati nireti lori Aṣayan :: Ko si, tabi ipadanu nigba lilo unwrap_err, reti, expect_err, ati awọn ọna ti o jọra lori iru Abajade.
  • Oluṣakoso package ẹru n pese iyipada aifọwọyi ti “proc_macro crate” sinu bulọọki “ita” fun awọn idii pẹlu awọn macros ilana. Iyipada yii ngbanilaaye itọsọna “lilo” lati lo si awọn macros ilana laisi nini pato “crate proc_macro;” ninu koodu naa. Fun apẹẹrẹ, ti eto naa ba lo laini “lo proc_macro :: TokenStream;”, lẹhinna koodu naa yoo wa ni iṣẹ ti o ba yọkuro kuro ninu rẹ.
  • Awọn agbara ti awọn boṣewa ìkàwé ti a ti ti fẹ. Ninu iter :: ofo kun Firanṣẹ ati atilẹyin amuṣiṣẹpọ fun eyikeyi awọn iye T.
    Awọn ipe Pin:: {map_unchecked, map_unchecked_mut} jišẹ lati ni lati pada iru iye kan fun imuse “Iwọn”.
    Ninu io :: Kọsọ imuse PartialEq ati Eq. Ẹya “const” pinnu iṣeeṣe lilo ni eyikeyi ipo dipo awọn iduro, loo fun Layout :: titun ọna.
  • Apa tuntun ti API ni a ti gbe lọ si ẹka iduro, pẹlu CondVar ti o duro diduro :: duro_nigba, CondVar :: wait_timeout_while,
    DebugMap :: bọtini, DebugMap :: iye,
    Fi ọwọ silẹ :: mu,
    ptr :: bibẹ_from_raw_parts_mut ati ptr :: bibẹ_lati_raw_parts.
  • Ọna ijuwe aṣiṣe:: ti ti parẹ.
  • Ti pese atilẹyin ipele keji fun armv7a-none-eabi ati awọn iru ẹrọ riscv64gc-unknown-linux-gnu. Atilẹyin fun ile-ikawe boṣewa fun pẹpẹ riscv64gc-unknown-linux-gnu ti pese.
    Apple 32-bit awọn iru ẹrọ silẹ titi di ipele kẹta ti atilẹyin, eyiti o tumọ atilẹyin ipilẹ, ṣugbọn laisi idanwo adaṣe ati atẹjade ti awọn ile-iṣẹ osise. Ilọkuro ni atilẹyin jẹ nitori Apple ko ṣe atilẹyin awọn iru ẹrọ 32-bit mọ.

orisun: opennet.ru

Ra alejo gbigba igbẹkẹle fun awọn aaye pẹlu aabo DDoS, awọn olupin VPS VDS 🔥 Ra gbigbalejo oju opo wẹẹbu ti o gbẹkẹle pẹlu aabo DDoS, awọn olupin VPS VDS | ProHoster