E4067#
main 包中缺少 main 函数。
在 MoonBit 中,包分为 main 包和非 main 包两类。非 main 包通常作为库,为其他包提供功能;main 包则是程序的入口。因此,main 包应该包含一个作为程序入口的 main 函数。
错误示例#
假设在包 main 中:
main/moon.pkg:
pkgtype(kind: "executable")
main/main.mbt:
///|
pub fn helper() -> Unit {
()
}
建议#
你可以在 main 包中添加一个 main 函数:
main/main.mbt:
///|
priv struct A(Int)
///|
fn A::to_int(self : A) -> Int {
self.0
}
///|
fn main {
let a = A(42)
println(a.to_int())
}
或者,如果这个包本来应该是库,请移除 pkgtype(kind: "executable") 声明。库是默认的包类型。