最佳答案
我已经增加了一个功能,在我的板条箱,增加了 serde
的支持。然而,我不太明白如何正确使用它:
// #[derive(Debug, Serialize, Deserialize, Clone)] // goes to:
#[derive(Debug, Clone)]
#[cfg(feature = "serde_support")]
#[derive(Serialize, Deserialize)]
pub struct MyStruct;
这段代码将 cfg(feature)
以下的所有内容都视为有条件编译的,因此如果没有我的 serde_support
特性,我的板条箱也就没有 MyStruct
。
我曾试图用大括号包装它,但它出现了另一个错误:
密码:
#[derive(Debug, Clone)]
#[cfg(feature = "serde_support")] {
#[derive(Serialize, Deserialize)]
}
pub struct MyStruct;
错误:
error: expected item after attributes
--> mycrate/src/lib.rs:65:33
|
65 | #[cfg(feature = "serde_support")] {
| ^
那么该怎么做呢?