E4191

E4191#

Compiler diagnostic name: mbt_check_non_test_toplevel.

mbt check 文档块中存在非测试顶层声明。

文档注释中标记为 mbt check 的代码围栏会被视为文档测试块。这些代码块应该包含测试顶层声明,例如 test { ... }。普通顶层声明会被跳过,并报告此诊断。

错误示例#

下面的 mbt check 块声明了一个普通辅助函数:

/// Returns the answer.
///
/// ```mbt check
/// fn helper() -> Int {
///   42
/// }
/// ```
pub fn answer() -> Int {
  42
}

MoonBit 会报告一个错误。

建议#

将需要检查的代码移动到 test { ... } 块中:

/// Returns the answer.
///
/// ```mbt check
/// test {
///   inspect(answer(), content="42")
/// }
/// ```
pub fn answer() -> Int {
  42
}