匿名枚举在Rust中

11

我在一个项目中使用了这种数据结构:

#[derive(Serialize, Deserialize)]
pub enum Field {
    last_name(String),
    first_name(String),
    /* etc. */
}

#[derive(Serialize, Deserialize)]
pub struct Update {
    pub id: Id,
    pub field: Field,
}

这个枚举本身并没有什么用,我只是用它来反序列化JSON。那么是否可能像这样做呢?

#[derive(Serialize, Deserialize)]
pub struct PersonUpdate {
    pub id: Id,
    pub field: enum {
        last_name(String),
        first_name(String),
    }
}

2
最近在内部论坛上有一些讨论:https://internals.rust-lang.org/t/pre-rfc-anonymous-enum/4806 - Chris Emerson
1个回答

15

不可能的,你必须给它一个名字,就像你在第一个例子中所做的那样。


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