2个稳定版本

1.0.1 2023年11月11日

#610 in 过程宏

Download history 10/week @ 2024-06-03 5/week @ 2024-06-10 24/week @ 2024-06-17 22/week @ 2024-07-01 12/week @ 2024-07-15 16/week @ 2024-07-22 21/week @ 2024-07-29

每月65次下载

MIT许可证

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