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

L'organizzazione Rust Foundation ha pubblicato una statistica secondo cui, su 127.000 pacchetti significativi presentati 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, in cui è utilizzata la modalità "unsafe".

Si osserva che, nella maggior parte dei casi, l'uso della modalità "unsafe" è dovuto alla chiamata di codice scritto in altri linguaggi o all'accesso a librerie in C/C++. Il pacchetto con il maggior numero di chiamate in modalità "unsafe" è riconosciuto essere il pacchetto crate windows sviluppato da Microsoft, che funge da wrapper per le API della piattaforma Windows. Questo pacchetto conta 36 milioni di download. Unsafe è anche utilizzato nei pacchetti più popolari 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 determinare accessi al di fuori dei limiti dei buffer, utilizzo di memoria dopo la sua liberazione, uso improprio di dati non inizializzati, violazione dell'invariabilità dei tipi di base (ad esempio, non corrispondenza dei valori bool con 0 o 1), violazione delle regole di possesso degli oggetti, insorgenza di condizioni di corsa e perdite di memoria.

Fonte: opennet.ru

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