E4000

E4000#

类型变量名称已被使用。

错误示例#

struct Container[T, T] {
  value : T
}

fn transform[A, A](x : A) -> A {
  x
}

建议#

使用不同的类型变量名称:

struct Container[T1, T2] {
  value : T1
}

fn transform[A, B](x : A) -> B {
  // ... implementation
}

或者如果你想使用相同的类型,移除重复的类型参数:

struct Container[T] {
  value : T
}

fn transform[A](x : A) -> A {
  x
}