Hver femte pakke på Rust-sproget bruger unsafe-tilstand.

Rust Foundation har offentliggjort statistik, der viser, at ud af 127.000 signifikante pakker præsenteret i kataloget crates.io, anvender mere end 24.000 (19,11%) nøgleordet "unsafe" for at inkludere funktioner, der muliggør usikker håndtering af hukommelse i enkelte kodeblokke, såsom dereferering af pointers, kald af eksterne funktioner eller ændring af statiske variable. 34,35% af pakkerne foretager direkte kald til funktioner fra andre crate-pakker, hvor "unsafe"-tilstande anvendes.

Det bemærkes, at brugen af "unsafe" tilstand i de fleste tilfælde skyldes kald til kode skrevet i andre sprog eller adgang til biblioteker i C/C++. Den pakke med det højeste antal kald i "unsafe" tilstand anerkendes som crate-pakken windows, udviklet af Microsoft, som er et wrapper over Windows-platformens API. Denne pakke har 36 millioner downloads. Unsafe anvendes også i de mest populære pakker syn (470 millioner downloads), proc-macro2 (354 millioner downloads) og libc (345 millioner downloads).

For at identificere problemer i koden, der kører i "unsafe" tilstand, udvikles projektet en interpreter ved navn Miri, som giver mulighed for at bestemme adgang uden for buffergrænserne, brug af hukommelse efter dens frigivelse, forkert brug af uinitialiserede data, overtrædelse af invariant regler for grundlæggende typer (for eksempel, at bool ikke overholder værdierne 0 eller 1), overtrædelse af ejerskabsregler for objekter, opståen af race-tilstande og hukommelseslækager.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster