If I have an enum with a set of values, is there a way I could create a second enum with the same variants plus some more?
// From this
enum Base {
Alpha,
Beta(usize),
}
// To this, but without copy & paste
enum Extended {
Alpha,
Beta(usize),
Gamma,
}
An enum can't be directly extended, but you use the same composition trick one would use with structs (that is, with a struct, one would have a field storing an instance of the 'parent').
If you wish to handle each case individually, this is then used like
but you can also share/re-use code from the "parent"