Lingua di prugrammazione Rust versione 1.67

A liberazione di a lingua di prugrammazione Rust 1.67 generale, fundata da u prughjettu Mozilla, ma avà sviluppata sottu à l'auspices di l'urganizazione indipendente Rust Foundation, hè stata publicata. A lingua si focalizeghja nantu à a sicurità di a memoria è furnisce i mezi per ottene un altu parallelismu di u travagliu evitendu l'usu di un cullizzioni di basura è runtime (u runtime hè ridutta à l'inizializazione basica è u mantenimentu di a biblioteca standard).

I metudi di gestione di a memoria di Rust salvanu u sviluppatore da l'errore quandu manipulanu i puntatori è prutegge da i prublemi chì si sviluppanu per via di a gestione di memoria di pocu livellu, 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 prughjettu sviluppa u gestore di pacchetti Cargo. U repository crates.io hè supportatu per l'ospitu di biblioteche.

A sicurezza di a memoria hè furnita in Rust à u tempu di compilazione attraversu a verificazione di riferimentu, u seguimentu di a pruprietà di l'ughjettu, a traccia di a vita di l'ughjettu (scopi), è a valutazione di a correttezza di l'accessu di memoria durante l'esekzione di codice. Rust furnisce ancu prutezzione contra i overflows integer, esige l'inizializazione obligatoria di i valori variabili prima di l'usu, gestisce l'errori megliu in a biblioteca standard, applica u cuncettu di referenze immutabili è variabili per difettu, offre una forte tipografia statica per minimizzà l'errori lògichi.

Innuvazioni principali:

  • Per e funzioni asincrone cù Future::Output, hè avà pussibule di specificà annotazioni "#[must_use]" chì includenu un avvisu se u valore di ritornu hè ignoratu, chì aiuta à identificà errori causati da l'assunzione chì a funzione cambierà i valori. invece di rinvià un novu valore. #[must_use] async fn bar () -> u32 { 0 } async fn caller () { bar (). } warning: output inutilizatu di u futuru restituitu da `bar` chì deve esse usatu —> src/lib.rs:5:5 | 5 | bar().aspittà; | ^^^^^^^^^^^^ | = nota: `#[warn(unused_must_use)]` on by default
  • L'implementazione di FIFO queues std::sync::mpsc (multi-producer single-consumer) hè stata aghjurnata, chì hè stata cambiata à aduprà u modulu crossbeam-channel mantenendu l'API precedente. A nova implementazione si distingue per risolve una quantità di prublemi, prestazioni più altu è mantenimentu di codice simplificatu.
  • Una nova parte di l'API hè stata trasferita à a categuria di stabile, cumprese i metudi è l'implementazione di i tratti sò stati stabilizzati:
    • {integer}::checked_ilog
    • {integer}::checked_ilog2
    • {integer}::checked_ilog10
    • {integer}::ilog
    • {integer}::ilog2
    • {integer}::ilog10
    • NonZeroU*::ilog2
    • NonZeroU*::ilog10
    • NonZero*::BITS
  • L'attributu "const", chì determina a pussibilità di usà in ogni cuntestu invece di custanti, hè utilizatu in e funzioni:
    • char::from_u32
    • char::from_digit
    • char::to_digit
    • core::char::from_u32
    • core::char::from_digit
  • Реализован третий уровень поддержки для использования Rust в ядре Linux (linuxkernel), а также для платформ Sony PlayStation 1 (mipsel-sony-psx), PowerPC с AIX (powerpc64-ibm-aix), QNX Neutrino RTOS (aarch64-unknown-nto-qnx710, x86_64-pc-nto-qnx710). Третий уровень подразумевает базовую поддержку, но без автоматизированного тестирования, публикации официальных сборок и проверки возможности сборки кода.

Дополнительно можно отметить публикацию компанией ARM патчей, позволяющих использовать язык Rust для разработки драйверов и модулей ядра Linux, собираемых для систем на базе архитектуры AArch64.

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