E4011#
不允许在特性默认实现中使用类型参数。
错误示例:#
pub(open) trait Stringer {
stringify(Self) -> String
}
impl[T] Stringer with stringify(_self) { "hey" }
在上述例子中,在 Stringer
特性的默认实现中使用了类型参数 T
,这是不允许的。
建议#
从默认实现中移除类型参数:
pub(open) trait Stringer {
stringify(Self) -> String
}
impl Stringer with stringify(_self) { "hey" }