E0034

E0034#

警告名称:implicit_use_builtin

隐式使用了 moonbitlang/core/builtin 中的定义。

当代码隐式依赖 moonbitlang/core/builtin 中的定义时,会发出此警告。建议显式导入 需要的 API,使依赖关系更清晰。

错误示例#

这里的 Null 在没有显式类型或限定名的情况下,被推断为来自 moonbitlang/core/builtinJson::Null 构造器:

///|
pub fn check(value : Json) -> Int {
  fn classify(input) {
    match input {
      Null => 0
      _ => 1
    }
  }

  classify(value)
}

修改建议#

请显式声明 builtin 依赖并限定构造器名称,或者加入足够的类型信息,使代码不再依赖隐式的 builtin 构造器推断。

///|
pub fn check(value : Json) -> Int {
  fn classify(input : Json) {
    match input {
      Json::Null => 0
      _ => 1
    }
  }

  classify(value)
}