Как предоставить встроенные аннотации при вызове неуниверсальной функции?
Один из известных мне способов - предоставить аннотации типов в Rust - объявить промежуточную переменную, чтобы компилятор знал тип возвращаемого значения:
use std::num::Int
let max_usize: usize = Int::max_value();
println!("Max usize: {}", max_usize);
Но как я могу предоставить аннотацию типа "inline"?
Например, я не ожидаю, что следующее будет работать без изменений, потому что вообще нет аннотации типов, но это то, что мне нужно:
use std::num::Int
println!("Max usize: {}", Int::max_value());
Я старалсяInt::max_value::<usize>()
, который даетerror: too many type parameters provided: expected at most 0 parameter(s), found 1 parameter(s)
- и это имеет смысл, потому чтоmax_value()
не является общим.
В Scala я бы написалmyFunction(someDog: Animal)
вместо того чтобы писать
val someAnimal: Animal = someDog
myFunction(someAnimal)
Есть ли эквивалентный синтаксис в Rust?