E1033

E1033#

导入的值从未被直接使用。

在 MoonBit 中,你可以从另一个包中导入一个值(比如 f)到当前包中,这样你就不必使用 @pkg.f 来限定值,

错误示例#

lib/moon.pkg.json:

{}

lib/main.mbt:

pub fn greeting() -> String {
  "Hello, world!"
}

main/moon.pkg.json:

{
  "is-main": true,
  "import": [
    {
      "path": "username/hello/lib",
      "alias": "hello",
      "value": [
        "greeting" // Warning: The import value greeting is never used directly.
      ]
    }
  ]
}

main/main.mbt:

fn main {
  println(@hello.greeting())
}

建议#

你可能仍然使用限定名称来访问导入的值。在这种情况下,要么从 moon.pkg.json 中删除导入的值。

main/moon.pkg.json:

{
  // ...
  "import": [
    {
      "path": "username/hello/lib",
      "alias": "hello"
    }
  ]
}

或者从你的代码中移除限定的包名:

main/main.mbt:

fn main {
  println(greeting())
}