E4206

E4206#

编译器诊断名称:must_implement_one

#must_implement_one trait 属性要求每个实现至少提供指定方法集合中的一个方法。如果实现对所有必需方法都只依赖默认实现,编译器会报告此错误。

错误示例#

///|
type Token

///|
#must_implement_one(render)
pub(open) trait Render {
  render(Self) -> String = _
  debug(Self) -> String = _
}

///|
impl Render with render(_) {
  "rendered"
}

///|
impl Render with debug(_) {
  "debug"
}

///|
pub impl Render for Token with debug(_) {
  "token"
}

建议#

至少实现一个由 #must_implement_one 指定的方法。

///|
type Token

///|
#must_implement_one(render)
pub(open) trait Render {
  render(Self) -> String = _
  debug(Self) -> String = _
}

///|
impl Render with render(_) {
  "rendered"
}

///|
impl Render with debug(_) {
  "debug"
}

///|
pub impl Render for Token with render(_) {
  "token"
}