enum OptionalInt { Nothing, Int(i32) } fn generate_optional(v: i32) -> OptionalInt { if v == 0 { OptionalInt::Nothing } else { OptionalInt::Int(v) } } fn display(v: OptionalInt) { if let OptionalInt::Int(iv) = v { println!("Value: {}", iv) } else { println!("No value") } } fn main() { let a = generate_optional(0); let b = generate_optional(1); display(a); display(b) }