Rust · Avançado · Inglês · Técnico
Miri
Interpretador que executa o código em um modelo da memória do Rust e detecta comportamento indefinido, como leitura não inicializada e uso de ponteiros inválidos.
Onde usar
Roda com cargo +nightly miri test. É a ferramenta padrão para validar blocos unsafe.
Em código
# instala e roda os testes sob o Miri
rustup +nightly component add miri
cargo +nightly miri test
# detecta uso de memória inválida,
# leitura não inicializada e data racesExemplos
Run the unsafe tests under Miri.
Rode os testes unsafe no Miri.
Miri caught an out-of-bounds read.
O Miri pegou uma leitura fora dos limites.
Cuidado
Só vê os caminhos executados pelo teste e é bem mais lento que o código normal; não achar erros não prova correção.
Origem
Sigla de MIR Interpreter, do nome da representação intermediária do compilador.