Rust 1.46 Programming Language Release

publisearre release 1.46 fan 'e systeemprogrammearringstaal Rust, 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.

It automatyske ûnthâldbehear fan Rust elimineert flaters by it manipulearjen fan oanwizers en beskermet tsjin problemen dy't ûntsteane út manipulaasje fan ûnthâld op leech nivo, lykas tagong krije ta in ûnthâldregio nei't it is befrijd, nul-oanwizers dereferences, bufferoverruns, ensfh. 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:

  • De mooglikheden fan funksjes definieare mei de útdrukking "const fn" binne útwreide, dy't net allinich as reguliere funksjes neamd wurde kinne, mar ek brûkt wurde yn elke kontekst ynstee fan konstanten. Dizze funksjes wurde berekkene op kompilaasjetiid, net by runtime, sadat se ûnderwurpen binne oan bepaalde beheiningen, lykas de mooglikheid om allinich fan konstanten te lêzen.

    De nije release ferwideret it ferbod op it brûken fan Booleaanske operators ("&&" en "||") yn sokke funksjes, en lit it gebrûk fan "as", "as lit", "match" konstruksjes,
    "wylst", "wylst lit" en "loop", en biedt ek de mooglikheid om te konvertearjen nei plakjes (slice, dynamyske arrays) mei de útdrukking "&[T]". It gebrûk fan dizze funksjes yn 'e funksjes "const fn" kinne jo inkele boarne-yntinsive operaasjes ferpleatse nei it kompilaasjestadium. Bygelyks, de ymplemintaasje fan "const-sha1" makket it mooglik om te berekkenjen SHA-1 hashes op compile tiid, wat liedt ta flugger WinRT bindingen foar Rust mei hast 40 kear.

  • Om flaterberjochten ynformatyf te meitsjen, is stipe foar it "#[track_caller]"-attribút stabilisearre, wat nuttich is foar funksjes lykas unwrap, wat panyk kin feroarsaakje as typen ferkeard brûkt wurde. It opjûne attribút sil brûkt wurde troch de panykhanneler om de lokaasje fan de beller te printsjen yn in flaterberjocht.
  • It attribút "const", dat de mooglikheid bepaalt om it yn elke kontekst te brûken ynstee fan konstanten, wurdt brûkt yn 'e std :: mem :: forget metoade.
  • In nij diel fan 'e API is ferpleatst nei de stabile kategory, ynklusyf de stabilisearre Opsje :: zip en vec :: Drain :: as_slice.
  • Yn it pakket manager Cargo tafoege stipe foar nije omjouwingsfariabelen ynsteld by it kompilearjen fan in pakket: CARGO_BIN_NAME (namme fan it resultearjende útfierbere bestân), CARGO_CRATE_NAME (pakketnamme), CARGO_PKG_LICENSE (lisinsje oantsjutte yn it manifest), CARGO_PKG_LICENSE_FILE (paad nei it lisinsjebestân).

Boarne: opennet.ru

Add a comment