Rust · Avançado · Inglês · Técnico
Box leak
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