E0049

E0049#

Unused pub definition because it does not exist in mbti file.

A .mbti file contains the public interface of a package. When a package implements a virtual package, it is checked against the interface of that virtual package, and this warning is emitted if extra public declarations are found.

错误示例#

moon.pkg.json#
{
  "virtual": {
    "has-default": true
  }
}
pkg.mbti#
package "moonbit-community/E0049"
top.mbt#
///|
pub fn f() -> Unit {

}

建议#

Remove the public declarations that does not appear in the interface.