E4006

E4006#

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

错误示例:#

fn main {
  fn helper() {
    1 + 1
  }

  fn helper() { // E4006: local function 'helper' is already defined
    2 + 2
  }

  helper()
}

建议#

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

fn main {
  fn helper1() {
    1 + 1
  }

  fn helper2() {
    2 + 2
  }

  helper1()
  helper2()
}

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