Отлично, это делает трюк, спасибо!
аюсь обнаружить утечку памяти в программе Rust с использованием Valgrindэтот блог, Мой исходный код просто:
#![feature(alloc_system)]
extern crate alloc_system;
use std::mem;
fn allocate() {
let bad_vec = vec![0u8; 1024*1024];
mem::forget(bad_vec);
}
fn main() {
allocate();
}
Я ожидаю звонкаmem::forget()
генерировать утечку памяти, которую Valgrind сможет устранить. Однако, когда я запускаю Valgrind, он сообщает, что утечки невозможны:
[memtest]> cargo run
Compiling memtest v0.1.0 (file:///home/icarruthers/memtest)
Finished dev [unoptimized + debuginfo] target(s) in 0.28s
Running `target/debug/memtest`
[memtest]> valgrind target/debug/memtest
==18808== Memcheck, a memory error detector
==18808== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.
==18808== Using Valgrind-3.11.0 and LibVEX; rerun with -h for copyright info
==18808== Command: target/debug/memtest
==18808==
==18808==
==18808== HEAP SUMMARY:
==18808== in use at exit: 0 bytes in 0 blocks
==18808== total heap usage: 0 allocs, 0 frees, 0 bytes allocated
==18808==
==18808== All heap blocks were freed -- no leaks are possible
==18808==
==18808== For counts of detected and suppressed errors, rerun with: -v
==18808== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
Я обновлен до последней ночной версии (1.29.0-nightly (6a1c0637c 2018-07-23)).
Чего мне не хватает?