2个稳定版本
1.0.1 | 2023年11月11日 |
---|
#610 in 过程宏
每月65次下载
20KB
352 代码行
BetterDebug:更理智、更酷的Rust Debug宏
这个crate旨在提供对Debug
特质的优雅且实际合理的实现。
与标准库中的Debug
宏相比,此宏提供以下功能:
- 标记字段为秘密(这将在调用fmt::Debug时隐藏其内容)
- 为每个结构字段使用自定义格式化函数的能力。此外,如果您想要跳过打印特定字段或使用默认格式化程序,您可以在自定义格式化程序中返回
None
。所有这些都可以通过宏属性进行配置。 - 防止字段被格式化的能力。
- 将任何给定的字段重命名为您想要的任何名称的能力。
示例
注意:您可以在这里找到更多示例。
use better_debug::BetterDebug;
fn foo(foo: &Foo) -> Option<&'static str> {
if foo.bar.len() < 5 {
return Some("lorem ipsum");
}
None
}
#[derive(BetterDebug)]
struct Foo {
#[better_debug(cust_formatter = "foo")]
bar: String,
baz: String,
}
许可证
MIT
依赖关系
~0.6–1.1MB
~25K SLoC