ExpertiDict

Rust · Essencial · Inglês · Técnico

shadowing

/ˈʃædoʊɪŋ/substantivo

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

Veja também

Todos os termos de Rust