// ===== 命令错误族 =====
///|
pub(all) suberror CommandError {
InvalidCommand(String)
UnregisteredCommand(String)
Unauthorized(String)
PreconditionFailed(String)
NotFound(String)
Conflict(Int32, Int32)
// StorageError(String)
}
///|
/// 显式晋升 Show::to_string([0079] 隐式晋升已弃会;examples 插值面需要——FR-MC-6 错误面 Show 稳定)
pub extend CommandError with Show::{to_string}
///|
impl Show for CommandError with fn output(self, buf) {
match self {
InvalidCommand(reason) => buf.write_string("InvalidCommand: \{reason}")
Unauthorized(reason) => buf.write_string("Unauthorized: \{reason}")
PreconditionFailed(reason) =>
buf.write_string("PreconditionFailed: \{reason}")
NotFound(id) => buf.write_string("NotFound: \{id}")
Conflict(v, e) => buf.write_string("Conflict: version \{v} expected \{e}")
UnregisteredCommand(cmd) => buf.write_string("UnregisteredCommand: \{cmd}")
// StorageError(msg) => buf.write_string("StorageError: \{msg}")
}
}