E4006

E4006#

这个错误会在同一个作用域内声明多次相同的局部函数名时发生。每个局部函数名在其作用域内必须唯一。

错误示例:#

pub fn use_helper() -> Unit {
  fn helper() {
    1 + 1
  }

  fn helper() {
    2 + 2
  }

  ignore(helper())
}

建议#

要修复这个错误,给每个局部函数一个唯一的名称:

pub fn use_helpers() -> Unit {
  fn helper1() {
    1 + 1
  }

  fn helper2() {
    2 + 2
  }

  ignore(helper1())
  ignore(helper2())
}

你也可以把其中一个函数移动到别的作用域,或者将它们合并到一个函数中(如果功能类似)。