E4057

E4057#

Compiler diagnostic name: constructor_duplicate.

构造器重复定义。同一个枚举中的构造器名称必须唯一,这样构造和模式匹配才能明确识别对应的变体。

错误示例#

///|
enum E {
  A
  A(Int)
}

建议#

请将构造器重命名为其他名称。

///|
priv enum E {
  A
  B(Int)
}

///|
test {
  let value = E::B(1)
  ignore(E::A)
  match value {
    A => inspect("A")
    B(n) => inspect(n, content="1")
  }
}