Перечисления

#[allow(dead_code)]
enum Season {
    Summer, Fall, Winter, Spring, None
}

impl Season {
    fn new(name: &str) -> Season {
        match name {
            "summer" => Season::Summer,
            "fall"   => Season::Fall,
            "winter" => Season::Winter,
            "spring" => Season::Spring,
            _   => Season::None
        }
    }
}

let winter = Season::new("winter");
//winter is Season.Winter
println!("winter is {:#?}"
    winter as u32);