Rust 1.43 Rhyddhau Iaith Rhaglennu

Cyhoeddwyd rhyddhau iaith rhaglennu system Rhwd 1.43, a sefydlwyd gan brosiect Mozilla. Mae'r iaith yn canolbwyntio ar ddiogelwch cof, yn darparu rheolaeth cof awtomatig, ac yn darparu offer ar gyfer cyflawni cyfochrogrwydd tasg uchel heb ddefnyddio casglwr sbwriel a Rhedeg.

Mae rheolaeth cof awtomatig Rust yn rhyddhau'r datblygwr rhag trin pwyntydd ac yn amddiffyn rhag problemau sy'n deillio o drin cof lefel isel, megis mynediad cof Γ΄l-rhad ac am ddim, cyfeiriadau pwyntydd nwl, gor-redeg byffer, ac ati. Mae rheolwr pecyn yn cael ei ddatblygu i ddosbarthu llyfrgelloedd, sicrhau cydosod a rheoli dibyniaethau gan y prosiect. TΓ’l, sy'n eich galluogi i gael y llyfrgelloedd sydd eu hangen ar gyfer y rhaglen mewn un clic. Cefnogir ystorfa i gynnal llyfrgelloedd cewyll.io.

Y prif arloesiadau:

  • Mae macros yn darparu'r gallu i ddefnyddio darnau o elfennau i'w troi'n god ar gyfer nodweddion (nodwedd), gweithrediadau (impl) neu flociau allanol. Er enghraifft:

    macro_rheolau! mac_trait {
    ($i:item) => {
    nodwedd T { $i }
    }
    }
    mac_trait! {
    fn foo() {}
    }

    Bydd yn arwain at genhedlaeth:

    nodwedd T {
    fn foo() {}
    }

  • Gwell canfod math o lythrennau cyntefig, cyfeiriadau a gweithrediadau deuaidd.
    Er enghraifft, bydd y cod canlynol, a achosodd wall yn flaenorol, bellach yn gallu llunio (mae Rust bellach yn pennu'n gywir bod yn rhaid i 0.0 a & 0.0 fod o fath f32):

    gadewch n: f32 = 0.0 + &0.0;

  • Mae newidyn amgylchedd newydd CARGO_BIN_EXE_{name} wedi'i ychwanegu at Cargo, sy'n cael ei osod wrth adeiladu profion integreiddio ac sy'n caniatΓ‘u ichi bennu'r llwybr llawn i'r ffeil gweithredadwy a ddiffinnir yn adran β€œ[[bin]]” y pecyn.
  • Os caniateir i ddatganiadau ddefnyddio priodoleddau fel "#[cfg()]".
  • Mae'r llyfrgell yn darparu'r gallu i ddefnyddio cysonion cysylltiedig yn uniongyrchol ar gyfer mathau cyfanrif a ffracsiynol, heb fewnforio modiwl. Er enghraifft, gallwch ysgrifennu u32::MAX neu f32::NAN ar unwaith heb nodi yn gyntaf β€œuse std:: u32” a β€œuse std::f32”.
  • Ychwanegwyd modiwl newydd cyntefig, sy'n ail-allforio mathau cyntefig Rust, er enghraifft pan fydd angen i chi ysgrifennu macro a sicrhau nad yw'r mathau'n cael eu cuddio.
  • Mae cyfran newydd o APIs wedi'i drosglwyddo i'r categori sefydlog, gan gynnwys sefydlogi

    Unwaith:: wedi'i gwblhau,
    f32::LOG10_2,
    f32::LOG2_10,
    f64::LOG10_2,
    f64::LOG2_10 a
    iter::unwaith_gyda.

Ffynhonnell: opennet.ru

Ychwanegu sylw