有没有办法将现有结构用作枚举变量?

and*_*man 4 rust

我正在使用一个用于多态的枚举,类似于以下内容:

enum MyType {
    Variant1 { a: i32, b: i32 },
    Variant2 { a: bool, b: bool },
}
Run Code Online (Sandbox Code Playgroud)

是否有干净的方法将现有结构用于Variant1Variant2?我已经完成以下工作:

struct Variant1 {
    a: i32,
    b: i32,
}

struct Variant2 {
    a: bool,
    b: bool,
}

enum MyType {
    Variant1(Variant1),
    Variant2(Variant2),
}
Run Code Online (Sandbox Code Playgroud)

但是感觉很笨重。我想知道是否有更好的方法来完成类似的事情。

mca*_*ton 6

有一个关于将枚举变量设为自己的类型的RFC:枚举变量的类型。不幸的是,由于未将其优先考虑而推迟了。这意味着,目前,您提出的方法是具有枚举变量类型的唯一方法。