When the type of an enum is known, getting its value seems overly verbose, compared to getting the value from a box for example.
Given this function which gets self.data
's value when its type of enum is known:
fn enum_known_type_cast(&self) -> &SomeValue {
match self.data {
MyEnum::EnumKind(ref value) => {
return value;
}
_ => {
unreachable!();
}
}
}
Can it be simplified to something like this?
fn enum_known_type_cast(&self) -> &SomeValue {
match self.data.enum_unwrap_mut<MyEnum::EnumKind>();
}