如果要实现,我想打印一个具有Display
特征的变量,否则,要打印具有Debug
特征的变量。所有类型在编译时都是已知的。
let display = MyDisplayType::new(); // implements Display
let debug = MyDebugType::new(); // implements Debug
output!(display); // uses Display a.k.a. println!("{}", display);
output!(debug); // uses Debug a.k.a. println!("{:?}", debug);
最干净的方法是什么?