ExpertiDict

Rust · Avançado · Inglês · Técnico

Miri

/ˈmɪɹi/substantivo

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 races

Exemplos

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.

Veja também

Todos os termos de Rust