ExpertiDict

Rust · Essencial · Inglês · Técnico

unsafe

/ʌnˈseɪf/palavra-chave

Palavra-chave que abre um bloco ou marca uma função onde o programador assume a responsabilidade por garantias que o compilador não consegue verificar, como desreferenciar ponteiros brutos.

Onde usar

Aparece em FFI, em estruturas de dados de baixo nível e em reviews que pedem um comentário SAFETY explicando por que o bloco é correto. A meta é isolar o unsafe em módulos pequenos.

Em código

let x = 5;
let p = &x as *const i32;
unsafe {
  println!("{}", *p);
}
// unsafe não desliga o borrow checker

Exemplos

Wrap the unsafe block in a safe function.

Envolva o bloco unsafe em uma função segura.

Add a SAFETY comment above this unsafe.

Adicione um comentário SAFETY acima desse unsafe.

Cuidado

Unsafe não desliga o borrow checker nem as demais verificações; ele só libera cinco operações extras, como desreferenciar ponteiro bruto e chamar função unsafe.

Antônimos

safe

Veja também

Todos os termos de Rust