E4005

E4005#

这个错误发生在一个特征有多个相同方法名的声明时。特征中的每个方法必须有一个唯一的名称,以避免歧义。

错误示例#

trait Animal {
  make_sound(Self) -> String
  make_sound(Self) -> String  // Error: method make_sound is declared twice
}

建议#

移除重复的方法声明,只保留每个方法名的一个定义:

trait Animal {
  make_sound(Self) -> String  // Only declare the method once
}

如果你需要不同的方法行为,使用不同的方法名称:

trait Animal {
  make_sound(Self) -> String
  make_loud_sound(Self) -> String  // Use a different name for different behavior
}