#display #unwrap #result #format

unwrap_display

类似于Result的unwrap,但使用core::fmt::Display特质来格式化,而不是使用core::fmt::Debug

2个版本

0.0.1 2023年12月6日
0.0.0 2023年12月6日

#48#unwrap


2 个crate中使用

Apache-2.0

7KB

unwrap_display

类似于Result的unwrap,但使用core::fmt::Display特质来格式化,而不是使用core::fmt::Debug.

此crate对于测试非常有用,因此我建议将其添加到dev-dependencies部分,而不是Cargo.toml文件的dependencies部分。

[dev-dependencies]
unwrap_display = "0.0"

lib.rs:

当发生错误时,core::result::Result::unwrap使用core::fmt::Debug而不是core::fmt::Display特质来打印错误。这没关系,因为unwrap的结果本来就不应该让最终用户看到。

有些错误类型在使用Debug而不是Display格式化时对开发者来说也是难以理解的。在这种情况下,使用Display格式化错误可以提高生产效率。一个典型的用例是unittests内部的解析器错误。

此crate向core::result::Result添加了unwrap_displayexpect_display_code方法。两者都使用#[track_caller]属性来简化调试。

现在您可以在测试中写入 do_something_interesting().unwrap_display(),错误将以 Display 格式显示,而不是 Debug.

无运行时依赖