E0078

E0078#

警告名称:result_error_return

函数返回了 Result[T, E],但 E 本身是错误类型。

对于可能失败的 API,优先使用 MoonBit 的错误效应,即 T raise E。只有在成功与失败确实要作为普通数据表示时,才保留 Result 返回类型。此迁移警告默认关闭。

错误示例#

///|
pub(all) suberror ParseError {
  ParseError
}

///|
pub fn parse_number() -> Result[Int, ParseError] {
  Err(ParseError)
}

修改建议#

返回成功值的类型,并用 raise 声明错误。

///|
pub(all) suberror ParseError {
  ParseError
}

///|
pub fn parse_number() -> Int raise ParseError {
  raise ParseError
}