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

时间:2015-02-02 07:16:50

标签: rust

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

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

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

例如,我不希望以下内容未修改,因为根本没有类型注释,但这是我之后的事情:

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中是否有相同的语法?

1 个答案:

答案 0 :(得分:4)

像这样:

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