Lingua di prugrammazione Rust versione 1.54

A liberazione di a lingua di prugrammazione di u sistema Rust 1.54, fundata da u prughjettu Mozilla, ma avà sviluppata sottu à l'auspici di l'urganizazione indipendente Rust Foundation, hè stata publicata. A lingua fucalizza nantu à a sicurità di a memoria, furnisce una gestione automatica di a memoria, è furnisce i mezi per ottene un parallelismu elevatu di u travagliu senza aduprà un cullizzioni di basura o runtime (u runtime hè ridutta à l'inizializazione basica è u mantenimentu di a biblioteca standard).

A gestione automatica di a memoria di Rust salva u sviluppatore da l'errore durante a manipulazione di puntatori è prutegge da i prublemi chì si sviluppanu per via di a manipulazione di memoria di livellu bassu, cum'è l'accessu à una zona di memoria dopu chì hè stata liberata, dereferencing null pointers, buffer overruns, etc. Per distribuisce biblioteche, furnisce e custruzzioni è gestisce e dipendenze, u prugettu sviluppa u gestore di pacchetti Cargo. U repository crates.io hè supportatu per e biblioteche di hosting.

Innuvazioni principali:

  • Aggiunta l'abilità di utilizà macros cum'è funzioni in l'attributi (macros procedurali è macros creati cù a macro "macro_rules!"). Tali macros sò distinti da e funzioni da u simbulu "!" dopu à u nome (macro! (...)) è rimpiazzà u testu fonte macro invece di generà una chjama di funzione. Chjamate macros in l'attributi pò esse utile per include u cuntenutu di altri schedari in i cumenti di documentazione. Per esempiu, per inserisce u cuntenutu di u schedariu README è u risultatu di l'esekzione di script, pudete specificà: #![doc = include_str!("README.md")] #[path = concat!(env!("OUT_DIR") "), "/generated.rs" )] mod generatu;
  • E funzioni di compilatore integrate (Intrinsics) per a piattaforma wasm32 sò stati stabilizzati, chì permettenu l'usu di l'istruzzioni SIMD in WebAssembly. A maiò parte di e funzioni, cum'è v128_bitselect, sò dispunibuli in modu "safe", ma alcune funzioni chì travaglianu cù punters (per esempiu, v128_load) restanu "inseguri".
  • L'usu predeterminatu di a compilazione incrementale hè tornatu, chì vi permette di ricustruisce solu e parti cambiate di u codice, chì ponu riduce significativamente u tempu chì ci vole à custruisce un prughjettu quandu ricompilate dopu avè fattu cambiamenti minori. A compilazione incrementale hè stata disattivata in a versione 1.52.1 per via di bug nascosti chì apparsu dopu avè aghjustatu un verificatu supplementu per a carica di dati da a cache di discu.
  • Una nova parte di l'API hè stata trasferita à a categuria stabile, cumprese i seguenti stabilizzati:
      BTreeMap::into_keys
  • BTreeMap::in_values
  • HashMap::into_keys
  • HashMap::into_values
  • arcu::wasm32
  • VecDeque::binary_search
  • VecDeque::binary_search_by
  • VecDeque::binary_search_by_key
  • VecDeque::partition_point
  • Opzioni aghjunte à Cargo-tree: "-prune " per caccià un pacchettu da u gràficu di dependenza, "-depth" per vede solu elementi di un livellu di nidificazione datu in l'arbulu di dependenza, "-edges no-proc-macro" per ammuccià e dipendenze macro procedurali.

    Source: opennet.ru

  • Cumprate un hosting affidabile per i siti cù prutezzione DDoS, servitori VPS VDS 🔥 Cumprate un hosting di siti web affidabile cù prutezzione DDoS, servitori VPS VDS | ProHoster