Lingua di prugrammazione Rust versione 1.46

publicatu versione 1.46 di a lingua di prugrammazione di u sistema Rust, fundatu da u prughjettu Mozilla. A lingua si focalizeghja nantu à a sicurità di a memoria, furnisce una gestione automatica di a memoria, è furnisce strumenti per ottene un parallelismu elevatu di u travagliu senza usà un cullettore di basura è runtime.

A gestione automatica di a memoria di Rust elimina l'errore in a manipulazione di puntatori è prutegge da i prublemi derivanti da a manipulazione di memoria di livellu bassu, cum'è l'accessu à una regione di memoria dopu chì hè stata liberata, null pointer dereferences, buffer overruns, etc. Un gestore di pacchetti hè sviluppatu per distribuisce biblioteche, assicurà l'assemblea è gestisce e dipendenze da u prugettu. Cargo, chì permette di ottene e librerie necessarie per u prugramma in un clic. Un repository hè supportatu per ospitare biblioteche crates.io.

menu innovazioni:

  • E capacità di e funzioni definite cù l'espressione "const fn" sò stati allargati, chì ponu esse chjamati micca solu funzioni regularmente, ma ancu usati in ogni cuntestu invece di custanti. Queste funzioni sò calculate in tempu di compilazione, micca in runtime, cusì sò sottumessi à certe restrizioni, cum'è a capacità di leghje solu da custanti.

    A nova versione elimina a pruibizione di l'usu di l'operatori booleani ("&&" è "||") in tali funzioni, è permette l'usu di e custruzzioni "se", "if let", "match".
    "while", "while let" è "loop", è furnisce ancu a capacità di cunvertisce in fette (slice, arrays dinamichi) usendu l'espressione "&[T]". L'usu di sti funziunalità in e funzioni "const fn" permette di trasfurmà alcune operazioni intensive di risorse à u stadiu di compilazione. Per esempiu, l'implementazione di "const-sha1" permette di calculà l'hash SHA-1 in tempu di compilazione, chì porta à accelerà i vincoli WinRT per Rust quasi 40 volte.

  • Per fà i missaghji d'errore più informativi, u supportu per l'attributu "#[track_caller]" hè statu stabilizatu, chì hè utile per funzioni cum'è unwrap, chì pò causà panicu se i tipi sò usati incorrectamente. L'attributu specificatu serà utilizatu da u gestore di panicu per stampà u locu di u chjamante in un missaghju d'errore.
  • L'attributu "const", chì determina a pussibilità di usà in ogni cuntestu invece di custanti, hè utilizatu in u metudu std::mem::forget.
  • Una nova parte di l'API hè stata spustata à a categuria stabile, cumprese l'Option stabilizzata::zip è vec::Drain::as_slice.
  • In u gestore di pacchetti Cargo aghjustatu supportu per e novi variabili di l'ambienti stabiliti in a compilazione di un pacchettu: CARGO_BIN_NAME (nome di u schedariu eseguibile risultatu), CARGO_CRATE_NAME (nome di u pacchettu), CARGO_PKG_LICENSE (licenza specificata in u manifestu), CARGO_PKG_LICENSE_FILE (percorsu à u schedariu di licenza).

Source: opennet.ru

Add a comment