9951 explained code solutions for 126 technologies


rustHow to cast enum in Rust


In Rust, you can cast an enum to a number using the as keyword. For example, if you have an enum Fruit with variants Apple, Orange, and Banana, you can cast it to an integer like this:

enum Fruit {
    Apple,
    Orange,
    Banana,
}

let my_fruit = Fruit::Apple;
let my_fruit_as_int = my_fruit as i32;

The output of this code would be my_fruit_as_int = 0. This is because the variants of the enum are assigned values starting from 0.

You can also cast a number to an enum using the from keyword. For example, if you have the same enum Fruit as before, you can cast an integer to it like this:

let my_int = 2;
let my_int_as_fruit = Fruit::from(my_int);

The output of this code would be my_int_as_fruit = Fruit::Banana.

Helpful links

Edit this code on GitHub