有这些相当人为的类型定义
trait Generic<T> {
fn some(&self) -> T;
}
impl<T> Generic<T> for i32
where
T: Default,
{
fn some(&self) -> T {
T::default()
}
}
我想要显式地调用 some
方法并指定类型 T。下面的代码显然不起作用,因为该方法本身不是泛型。
fn main() {
let int: i32 = 45;
println!( "some: {}", int.some<bool>() );
}
如何正确地调用 some
?
println!
宏接受通用类型。这里有一些想法:https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=8f59a103f21f101be18b1e5e0805d644 - Ömer Erden&int.some() as &bool
能够工作,而int.some() as bool
不能? - MoohT
强制转换为目标类型,请参见:https://doc.rust-lang.org/reference/expressions/operator-expr.html#type-cast-expressions - Ömer Erden