Devolutions/mongodm-rs

field! macro can't deal with Enum.

Opened this issue · 0 comments

#[derive(Serialize, Deserialize)]
struct Foo {
    e: E,
}

#[derive(Serialize, Deserialize)]
enum E {
    A(Foo1)
}

#[derive(Serialize, Deserialize)]
struct Foo1 {
    f: String,
}

let f = Foo {
    e: E::A(Foo1 {
        f: "field string".to_string(),
    }),
};
println!("{}", bson::to_document(&f).unwrap());

Here we get a result

{ "e": { "A": { "f": "field string" } } }

However, we can't build the path "e.A.f" with field! macro now.