I have an enum:
enum Foo {
Bar = 1,
}
How do I convert a reference to this enum into an integer to be used in math?
fn
*foo as u8
is correct, but you have to implement Copy
because otherwise you would leave behind an invalid reference.
#[derive(Copy, Clone)]
enum Foo {
Bar = 1,
}
fn f(foo: &Foo) -> u8 {
*foo as u8
}
Since your enum will be a very lightweight object you should pass it around by value anyway, for which you would need Copy
as well.