Rust 1.43 Programming Language Release

publisearre systeem programmeartaal release Roest 1.43, oprjochte troch it Mozilla-projekt. De taal rjochtet him op ûnthâldfeiligens, leveret automatysk ûnthâldbehear, en leveret ark foar it realisearjen fan hege taakparallellisme sûnder in garbage collector en runtime.

Rust's automatyske ûnthâldbehear befrijt de ûntwikkelder fan oanwizermanipulaasje en beskermet tsjin problemen dy't ûntsteane út leechnivo-ûnthâldmanipulaasje, lykas nei-frije ûnthâldtagongen, nul-oanwizer-ferwizings, buffer-oerrin, en sa. In pakketbehearder wurdt ûntwikkele om bibleteken te fersprieden, assemblage te garandearjen en ôfhinklikens te behearjen troch it projekt. Lading, wêrtroch jo de biblioteken dy't nedich binne foar it programma yn ien klik krije. In repository wurdt stipe om bibleteken te hostjen crates.io.

haad ynnovaasjes:

  • Makro's jouwe de mooglikheid om fragminten fan eleminten te brûken om se te feroarjen yn koade foar trekken (trek), ymplemintaasjes (impl) of eksterne blokken. Bygelyks:

    makro_regels! mac_trait {
    ($i:item) => {
    eigenskip T {$i}
    }
    }
    mac_trait! {
    fn foo() {}
    }

    Sil liede ta generaasje:

    eigenskip T {
    fn foo() {}
    }

  • Ferbettere typedeteksje fan primitiven, referinsjes en binêre operaasjes.
    Bygelyks, de folgjende koade, dy't earder in flater feroarsake, sil no kinne kompilearje (Rust bepaalt no krekt dat 0.0 en &0.0 fan type f32 wêze moatte):

    lit n: f32 = 0.0 + &0.0;

  • In nije omjouwingsfariabele CARGO_BIN_EXE_{name} is tafoege oan Cargo, dy't ynsteld wurdt by it bouwen fan yntegraasjetests en lit jo it folsleine paad bepale nei it útfierbere bestân definieare yn 'e "[[bin]]"-seksje fan it pakket.
  • As útspraken binne tastien te brûken attributen lykas "#[cfg()]".
  • De bibleteek biedt de mooglikheid om assosjearre konstanten direkt te brûken foar heule en fraksjetypen, sûnder in module te ymportearjen. Jo kinne bygelyks fuortendaliks u32 :: MAX of f32 :: NAN skriuwe sûnder earst "brûk std :: u32" en "brûk std :: f32" oan te jaan.
  • Nije module tafoege primitive, dy't Rust primitive typen opnij eksportearret, bygelyks as jo in makro skriuwe moatte en soargje dat de typen net ferburgen binne.
  • In nij diel fan API's is oerbrocht nei de stabile kategory, ynklusyf stabilisearre

    Once :: is_completed,
    f32::LOG10_2,
    f32::LOG2_10,
    f64::LOG10_2,
    f64::LOG2_10 en
    iter :: ien kear_mei.

Boarne: opennet.ru

Add a comment