#调试 #unwrap #result #options #no-debug

debugless-unwrap

解包 Result<!Debug, !Debug> 和 Option<!Debug>

4 个版本

0.0.4 2020年10月24日
0.0.3 2020年8月28日
0.0.2 2020年8月28日
0.0.1 2020年8月26日

904Rust 模式

Download history 1597/week @ 2024-03-14 1977/week @ 2024-03-21 1611/week @ 2024-03-28 2211/week @ 2024-04-04 2056/week @ 2024-04-11 1546/week @ 2024-04-18 1704/week @ 2024-04-25 2243/week @ 2024-05-02 1651/week @ 2024-05-09 1897/week @ 2024-05-16 1601/week @ 2024-05-23 2034/week @ 2024-05-30 1806/week @ 2024-06-06 3042/week @ 2024-06-13 2781/week @ 2024-06-20 2283/week @ 2024-06-27

每月下载量 10,235
21 包(6 个直接)中使用

MIT/Apache

11KB

debugless-unwrap

Lib.rs Crates.io Docs.rs

Rust 1.46.0 Build Status Crates.io - License

GitHub open issues open pull requests crev reviews

此库为标准 .unwrap 方法在 ResultOption 上的替代方案,无需在意外变体上实现 Debug

安装

请使用 cargo-edit 来始终添加此库的最新版本

cargo add debugless-unwrap

示例

use assert_panic::assert_panic;
use debugless_unwrap::*;

#[derive(Copy, Clone)]
struct T;

let some = Some(T);
let none = Option::<T>::None;
let ok = Result::<T, T>::Ok(T);
let err = Result::<T, T>::Err(T);

none.debugless_unwrap_none();
ok.debugless_unwrap();
err.debugless_unwrap_err();

assert_panic!(some.debugless_unwrap_none());
assert_panic!({ err.debugless_unwrap(); });
assert_panic!({ ok.debugless_unwrap_err(); });

许可证

在以下任一许可证下发布

任选其一。

贡献

除非你明确表示,否则根据 Apache-2.0 许可证定义,你提交的任何贡献都应按上述方式双重许可,不附加任何额外条款或条件。

行为准则

变更日志

版本控制

debugless-unwrap 严格遵循 语义版本控制 2.0.0,但有以下例外

  • 在主版本变更时,次要版本不会重置为 0(v1 除外)。
    将其视为全局功能级别。
  • 在主版本或次要版本变更时,补丁版本不会重置为 0(v0.1 和 v1 除外)。
    将其视为全局补丁级别。

这包括上述 Rust 版本要求。
较早的 Rust 版本可能兼容,但这可能随着次要或补丁版本而改变。

受功能和补丁影响的是版本可从 CHANGELOG.md 中的相应标题确定。

无运行时依赖