E0049
尝试实现具有错误数量的类型或 const 参数的 trait 方法。
错误代码示例:
trait Foo {
fn foo<T: Default>(x: T) -> Self;
}
struct Bar;
// error: 方法 `foo` 具有 0 个类型参数,但其 trait 中声明了一个
// 类型参数
impl Foo for Bar {
fn foo(x: bool) -> Self { Bar }
}
例如, Foo
trait 具有类型参数为 T
的方法 foo
,但是 foo
的实现 Bar
缺失了这个参数。要修复此错误,它们得具有相同的类型参数:
trait Foo {
fn foo<T: Default>(x: T) -> Self;
}
struct Bar;
impl Foo for Bar {
fn foo<T: Default>(x: T) -> Self { // 没问题!
Bar
}
}
本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。