有没有一种方法可以为 {integer}
类型(或所有整数类型)实现一个 trait。因为(作为最简单的示例):
pub trait X {
fn y();
}
impl<T> X for T {
fn y() {
println!("called");
}
}
fn main() {
(32).y();
}
出现错误:
error[E0689]: can't call method `y` on ambiguous numeric type `{integer}`
--> src/main.rs:12:10
|
12 | (32).y();
| ^
|
help: you must specify a concrete type for this numeric value, like `i32`
|
12 | (32_i32).y();
| ~~~~~~
For more information about this error, try `rustc --explain E0689`.
有没有一种方法可以为任何整数类型实现trait
X
,以便它可以在任何整数上使用(甚至是模糊的{integer}
类型)?因为如果对所有整数类型进行实现,则其实现都相同,那么为什么要关心确切的类型呢?