#display #traits #macro-derive #debugging #derive-debug #trivial

过程宏 derive_display_from_debug

这是一个简单的Rust宏,用于为任何具有Debug特质的类型派生Display特质。

3个版本

0.1.2 2020年11月23日
0.1.1 2020年11月20日
0.1.0 2020年11月19日

过程宏 中排名第1897

CC0 许可证

5KB

derive_display_from_debug

这是一个简单的Rust宏,用于为任何具有Debug特质的类型派生Display特质。

正如其名一样简单

它所做的只是生成一个使用对象Debug表示形式的Display实现。

为什么有人会使用这个宏呢?

我创建这个宏是为了减少必须实现std::error::Error(这要求Display)但不需要定义用户界面文本的类型(例如)的冗余代码:

  • 个人测试程序
  • 仅由开发者使用的软件的早期版本

以及可能

  • 国际化软件,其中所有用户界面字符串都由本地化资源确定。

您可以在任何认为Debug文本输出对于Display用途足够或不想实现Display但必须满足接口要求的地方使用它。

如何使用它

use derive_display_from_debug::Display;

#[derive(Debug, Display)]
struct NewStruct {}

就这样。现在

println!("{:?}", NewStruct{});

println!("{}", NewStruct{});

将具有相同的输出。

依赖项

~1.5MB
~35K SLoC