E4225#
编译器诊断名称:constr_any_pattern_not_suberror。
通配构造器模式 Type::_ 指定的不是可用的 suberror 类型。
该模式代表某个 suberror 类型的所有可见构造器。因此,指定的类型必须是至少包含一个构造器的 suberror,并且在模式使用处必须能看到这些构造器。它不能是普通枚举、结构体、内置类型、空的 suberror,或构造器不可见的不透明 suberror。
错误示例#
///|
enum Status {
Ready
Busy
}
///|
pub fn is_status(error : Error) -> Bool {
match error {
Status::_ => true
_ => false
}
}
建议#
请指定一个可见且非空的 suberror 类型。如果该值不是错误,请改用该类型的普通模式。
///|
priv suberror StatusError {
NotReady
Busy
}
///|
pub fn is_status_error(error : Error) -> Bool {
match error {
StatusError::_ => true
_ => false
}
}