I want to create a 'bool variable' from / using a) enum and b) if statement.
I am expecting in the code below a true value: 'whereYouLive' should be assigned to a true value.
Instead - I get message: you might have meant to use one of the enum's variants.
What am I doing wrong?
fn main() {
#[derive(Debug)]
enum Planets {
Sun = 0,
Earth,
}
let whereYouLive = Planets::Earth; /* assign Earth to the whereYouLive variable */
let liveInEarth =
if whereYouLive == Planets.Earth {
true
} else {
false
};
}
Ok - read the very helpful error explanation - I just must educate myself some more - thank you!
ote: an implementation of `PartialEq<_>` might be missing for `Planets`
--> src/main.rs:3:3
|
3 | enum Planets {
| ^^^^^^^^^^^^ must implement `PartialEq<_>`
help: consider annotating `Planets` with `#[derive(PartialEq)]`
|
3 | #[derive(PartialEq)]
|
For more information about this error, try `rustc --explain E0369`.
#[derive(Debug)]
enum Planets {
Sun = 0,
Earth,
}
fn main() {
let where_i_live = Planets::Earth;
let i_live_in_earth = matches!(where_i_live, Planets::Earth);
println!("I live in earth is {}", i_live_in_earth);
let where_you_live = Planets::Sun; // Weird planet
let you_live_in_earth = matches!(where_you_live, Planets::Earth);
println!("You live in earth is {}", you_live_in_earth);
}