ExpertiDict

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

Box leak

/bɑːks liːk/substantivo

Função Box::leak, que consome um Box e devolve uma referência mutável com lifetime 'static, sem nunca liberar a memória. Serve para dados que vivem até o fim do programa.

Onde usar

Aparece em configuração global criada na inicialização e em ferramentas de linha de comando. É preferida a static mut, que exige unsafe.

Em código

let cfg: &'static mut String =
  Box::leak(Box::new(String::from("x")));
cfg.push('y');
println!("{cfg}");

Exemplos

We Box leak the config to get a 'static reference.

Usamos Box leak na configuração para obter uma referência 'static.

Don't Box leak inside a request handler.

Não use Box leak dentro de um handler de requisição.

Cuidado

Vaza de propósito: chamar em loop acumula memória sem limite.

Sinônimos

Box::leak

Veja também

Todos os termos de Rust