Rust · Essencial · Inglês · Técnico
shadowing
Declarar uma nova variável com o mesmo nome de outra no mesmo escopo, que esconde a anterior. Permite até mudar o tipo, sem precisar de mut.
Onde usar
É comum ao converter um dado: o texto lido vira número com o mesmo nome. Em excesso, dificulta a leitura do código.
Em código
let x = "5";
let x: i32 = x.parse().unwrap();
let x = x * 2;
println!("{x}");Exemplos
I shadowed the string with the parsed number.
Fiz shadowing da string com o número já convertido.
Shadowing makes this part hard to follow.
O shadowing deixa esse trecho difícil de seguir.
Cuidado
Não é o mesmo que mut: shadowing cria uma variável nova, e a antiga continua existindo até o fim do escopo.
Sinônimos
sombreamento