Como forneço anotações de tipo embutidas ao chamar uma função não genérica?
Uma maneira que eu sei é fornecer as anotações de tipo no Rust, declarando uma variável intermediária para que o compilador conheça o tipo de retorno:
use std::num::Int
let max_usize: usize = Int::max_value();
println!("Max usize: {}", max_usize);
Mas como posso fornecer a anotação de tipo "inline"?
Por exemplo, não espero que o seguinte funcione sem modificações, porque não há nenhuma anotação de tipo, mas esse é o tipo de coisa que procuro:
use std::num::Int
println!("Max usize: {}", Int::max_value());
eu tenteiInt::max_value::<usize>()
, que dáerror: too many type parameters provided: expected at most 0 parameter(s), found 1 parameter(s)
- e isso faz sentido porquemax_value()
não é genérico.
Em Scala, eu escreveriamyFunction(someDog: Animal)
em vez de escrever
val someAnimal: Animal = someDog
myFunction(someAnimal)
Existe uma sintaxe equivalente no Rust?