In ogni quinto pacchetto scritto in Rust viene utilizzata la modalità unsafe

L'organizzazione Rust Foundation ha pubblicato delle statistiche, secondo cui su 127.000 pacchetti significativi presenti nel catalogo crates.io, oltre 24.000 (19,11%) utilizzano la parola chiave "unsafe" per abilitare funzionalità che consentono operazioni non sicure con la memoria in specifici blocchi di codice, come la dereferenziazione di puntatori, la chiamata a funzioni esterne o la modifica di variabili statiche. Il 34,35% dei pacchetti effettua chiamate dirette a funzioni di altri pacchetti crate che utilizzano la modalità "unsafe".

Si segnala che nella maggior parte dei casi l'uso della modalità "unsafe" è dovuto a chiamate di codice scritto in altri linguaggi o a interazioni con librerie in C/C++. Il pacchetto con il maggior numero di chiamate in modalità "unsafe" è il crate windows sviluppato da Microsoft, che funge da interfaccia per le API della piattaforma Windows. Questo pacchetto ha registrato 36 milioni di download. Unsafe è utilizzato anche nei pacchetti più popolari come syn (470 milioni di download), proc-macro2 (354 milioni di download) e libc (345 milioni di download).

Per identificare i problemi nel codice eseguito in modalità "unsafe", il progetto sta sviluppando l'interprete Miri, che consente di identificare accessi al di fuori dei confini dei buffer, uso della memoria dopo che è stata liberata, utilizzo scorretto di dati non inizializzati, violazione delle invarianti dei tipi base (ad esempio, discrepanza tra bool e i valori 0 o 1), violazione delle regole di possesso degli oggetti, insorgere di condizioni di race e perdite di memoria.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster