ExpertiDict

Rust · Intermediário · Português · Técnico

move parcial

/ˈmɔ.vi paʁ.ˈsjaw/substantivo

Mover apenas um campo de uma struct ou tupla, deixando os outros no lugar. O valor inteiro deixa de ser utilizável, mas os campos não movidos continuam acessíveis.

Onde usar

Aparece em erros como 'borrow of partially moved value', ao tentar usar a struct inteira depois de tirar um campo dela. Em review, vale a pena emprestar o campo.

Em código

struct P { nome: String, idade: u8 }
let p = P { nome: "Ana".into(), idade: 3 };
let n = p.nome; // move só o campo
println!("{} {}", n, p.idade);

Exemplos

Fiz um move parcial do campo nome e a struct ficou inutilizável.

Depois do move parcial, ainda dá para ler a idade.

Cuidado

Não funciona com tipos que implementam Drop, porque o destrutor precisa da struct inteira.

Sinônimos

partial move

Veja também

Todos os termos de Rust