ExpertiDict

Rust · Intermediário · Inglês · Informal

turbofish

/ˈtɜːɹboʊfɪʃ/substantivo

Sintaxe ::<T> usada para indicar o tipo genérico em uma chamada, como parse::<i32>() ou collect::<Vec<_>>(). O nome vem do desenho que lembra um peixe.

Onde usar

Aparece quando a inferência não consegue decidir o tipo. A alternativa é anotar o tipo da variável.

Em código

let n = "42".parse::<i32>().unwrap();
let v = (1..4).collect::<Vec<_>>();
let z = Vec::<u8>::new();
println!("{n} {v:?} {}", z.len());

Exemplos

Add a turbofish so it knows what to parse.

Adicione um turbofish para ele saber o que converter.

collect needs a turbofish or a type annotation.

O collect precisa de um turbofish ou de uma anotação de tipo.

Cuidado

Em tipos e declarações escreve-se Vec<u8> sem os dois pontos; o :: só é exigido em expressões.

Sinônimos

::<>

Origem

Do inglês turbo e fish, 'peixe turbo': ::<> parece um peixe de lado.

Veja também

Todos os termos de Rust