La Fundació Rust va publicar estadístiques segons les quals, dels 127 mil paquets significatius presentats al catàleg crates.io, més de 24 mil (19.11%) utilitzen la paraula clau "insegur" per habilitar funcions que permeten un funcionament no segur de la memòria en blocs individuals de codi, com ara desreferenciar punters, cridar funcions externes o canviar variables estàtiques. El 34.35% dels paquets fan trucades directes a funcions des d'altres paquets de caixes que utilitzen el mode "no segur".
Cal destacar que, en la majoria dels casos, l'ús del mode "no segur" es deu a crides a codi escrit en altres llenguatges o biblioteques C/C++. El paquet amb el nombre més gran de crides en mode "no segur" és el paquet Windows crate desenvolupat per Microsoft, que és un embolcall al voltant de l'API de la plataforma. WindowsAquest paquet s'ha descarregat 36 milions de vegades. Unsafe també s'utilitza en els paquets més populars: syn (470 milions de descàrregues), proc-macro2 (354 milions de descàrregues) i libc (345 milions de descàrregues).
Per identificar problemes en el codi executat en mode "no segur", el projecte està desenvolupant l'intèrpret Miri, que permet identificar accessos fora dels límits dels buffers, ús de memòria després d'alliberar-lo, ús incorrecte de dades no inicialitzades, violació de la invariància de tipus bàsics. (per exemple, bool no es correspon amb els valors 0 o 1), violació de les regles de propietat dels objectes, aparició de condicions de carrera i fuites de memòria.
Font: opennet.ru
