#[derive(Debug)] enum UpState { Alabama, Alaska, } enum Coin { Penny, Nickel, Dime, Quarter(UpState), } fn main() { let state = UpState::Alaska; let coin = Coin::Quarter(state); println!("the quater is {}",value_in_cents(coin)); println!("x = {:?}", plus_one(None)); } fn value_in_cents(coin: Coin) -> u8 { match coin { Coin::Penny => 1, Coin::Nickel => 5, Coin::Dime => 10, Coin::Quarter(state) => { println!("state quarter from {:?}",state); 25 } } } fn plus_one(x: Option) -> Option { match x { None => None, Some(i) => Some(i+1), } }