Я могу получить целочисленное значение перечислений, как это:
enum MyEnum {
A = 1,
B,
C,
}
let x = MyEnum::C as i32;
но я не могу это сделать:
match x {
MyEnum::A => {}
MyEnum::B => {}
MyEnum::C => {}
_ => {}
}
Как я могу либо сопоставить значения enum, либо попытаться преобразовать x
обратно в MyEnum
?
Я вижу, что такая функция полезна для перечислений, но она, вероятно, не существует:
impl MyEnum {
fn from<T>(val: &T) -> Option<MyEnum>;
}