我有一个返回impl特征的函数:
Debug
有没有办法表明底层结构还实现了#[derive(...)]
(通过{{1}}),所以我可以格式化值?
答案 0 :(得分:4)
是的,将多个特征与+
结合起来,就像在特征界限中一样:
use std::fmt::Debug;
trait Foo {}
fn new() -> impl Foo + Debug {
Dummy
}
#[derive(Debug)]
struct Dummy;
impl Foo for Dummy {}
fn main() {
println!("{:?}", new());
}