Ez nem igaz, hogy parasztvakítás lenne.
Először is a C-re létező megoldások egyike sem ad teljes fedést a memóriahibákra. A valgrind (és oldschool elődjei, mint pl eletricfence), futási időben akkor találják meg a hibát, ha a ráfutsz. Amennyire jók a teszteseteid, annyira fog hibákat találni. A statikus kódelemzők (mint coverity és hasonlók), leginkább mintákat keresnek (nyilván egyszerűsítés, elég kiterjedt elméleti háttere van), szintén nem tudnak teljes fedést adni. A runtime és a statikus analizátorok többé-kevésbé kiegészítik egymást, de mindkét esetben lehetnek fals negatívjaid és sokszor fals pozitívjaid id.
A C-ben egyszerűen nem jelölsz nyelvi szinten sok árnyalatbeli különbséget, amire a Rust-ban külön fogalom lett bevezetve (lásd borrow, mutable borrow, rc, refcell, weak reference stb. ezek C-ben mind ugyanolyan pointerek). Emiatt a statikus kódelemzőnek is sokkal kevesebb támpontja van, hogy az adott helyen mi volt a szándék.
A Rust az ígéri, hogy ugyanazt a memóriabiztonságot adja, amit a menedzselt memóriás programnyelvek, de ezt tudja runtime overhead-et jelentő háttérszolgáltatások (pl garbage collector) nélkül. És ezt lényegében hozza is. Lehet benne memory leak? Mint ahogy Java-ban is, pedig ott van GC. (igen, kicsit más a mechanizmus, ahogy előáll, de a nehézsúlyú menedzselt memóriás nyelvek sem tudják teljesen kizárni a lehetőségét.)