Rust 1.43 Programming Language Version

pibliye lage langaj pwogramasyon sistèm lan Rouye 1.43, ki te fonde pa pwojè Mozilla. Lang lan konsantre sou sekirite memwa, bay jesyon memwa otomatik, epi li bay zouti pou reyalize gwo paralelis nan travay san yo pa itilize yon pèseptè fatra ak ègzékusion.

Jesyon otomatik memwa Rust la libere pwomotè a soti nan manipilasyon konsèy ak pwoteje kont pwoblèm ki rive nan manipilasyon memwa ki ba-nivo, tankou aksè memwa apre-gratis, dereferans pointer nil, depase tanpon, ak lòt bagay. Yon manadjè pake ap devlope pou distribye bibliyotèk, asire asanble ak jere depandans pa pwojè a. Chaj, ki pèmèt ou jwenn bibliyotèk ki nesesè pou pwogram nan nan yon sèl klike sou. Yon depo sipòte pou òganize bibliyotèk kès.io.

Prensipal la inovasyon:

  • Makro bay kapasite pou sèvi ak fragman eleman yo pou fè yo tounen kòd pou karakteristik (trait), aplikasyon (impl) oswa blòk ekstèn. Pa egzanp:

    macro_règles! mac_trait {
    ($i:item) => {
    karakteristik T {$i}
    }
    }
    mac_trait! {
    fn foo() {}
    }

    Ap mennen nan jenerasyon:

    karakteristik T {
    fn foo() {}
    }

  • Amelyore deteksyon kalite primitif, referans ak operasyon binè.
    Pou egzanp, kòd sa a, ki te deja lakòz yon erè, yo pral kounye a kapab konpile (Rust kounye a kòrèkteman detèmine ke 0.0 ak & 0.0 dwe nan kalite f32):

    kite n: f32 = 0.0 + & 0.0;

  • Yon nouvo varyab anviwònman CARGO_BIN_EXE_{name} te ajoute nan Cargo, ki mete lè bati tès entegrasyon epi ki pèmèt ou detèmine chemen konplè nan dosye ègzèkutabl la defini nan seksyon "[[bin]]" nan pake a.
  • Si deklarasyon yo gen dwa sèvi ak atribi tankou "#[cfg()]".
  • Bibliyotèk la bay kapasite pou itilize konstan asosye dirèkteman pou kalite nonb antye relatif ak fraksyon, san yo pa enpòte yon modil. Pou egzanp, ou ka imedyatman ekri u32::MAX oswa f32::NAN san yo pa espesifye "itilize std::u32" ak "itilize std::f32".
  • Nouvo modil te ajoute primitiv, ki re-ekspòtasyon Rust primitif kalite, pou egzanp lè ou bezwen ekri yon makro epi asire w ke kalite yo pa kache.
  • Yon nouvo pòsyon API yo te transfere nan kategori ki estab, ki gen ladan estabilize

    Yon fwa::fini,
    f32::LOG10_2,
    f32::LOG2_10,
    f64::LOG10_2,
    f64::LOG2_10 ak
    iter::yon fwa_avèk.

Sous: opennet.ru

Add nouvo kòmantè