在调用非泛型函数时,如何在内联提供类型注释?

Cas*_*par 6 rust

我知道的一种方法是在Rust中提供类型注释是通过声明一个中间变量,以便编译器知道返回类型:

use std::num::Int
let max_usize: usize = Int::max_value();
println!("Max usize: {}", max_usize);
Run Code Online (Sandbox Code Playgroud)

但是如何提供类型注释"内联"?

例如,我不希望以下内容未经修改地工作,因为根本没有类型注释,但这是我所追求的事情:

use std::num::Int
println!("Max usize: {}", Int::max_value());
Run Code Online (Sandbox Code Playgroud)

我试过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)
Run Code Online (Sandbox Code Playgroud)

Rust中有相同的语法吗?

DK.*_*DK. 4

就像这样:

fn main() {
    use std::num::Int;
    println!("Max usize: {}", <usize as Int>::max_value());
}
Run Code Online (Sandbox Code Playgroud)