你是否可以添加自己的可派生特征,还是这些特征由编译器固定?

19
< p > derive 属性允许为数据结构自动实现某些特性。以下是一个参考示例:

#[derive(PartialEq, Clone)]
struct Foo<T> {
   a: i32,
   b: T
}

是否可以添加自己的可派生特性,还是这些特性由编译器固定?

2个回答

18

谢谢。你有关于crate宏的示例吗? - andygavin
1
@andygavin 不好意思,我还没有真正使用过它。但是文档中有一个例子。 - fjh

10
Rust 1.15的发布允许自定义特性进行派生。最简单的方法是使用synquote crates。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接