// a bug was causing this to complain about leaked memory on exit use std; import option; import option::some; import option::none; enum t { foo(int, uint), bar(int, option), } fn nested(o: t) { match o { bar(i, some::(_)) => { error!("wrong pattern matched"); fail; } _ => { error!("succeeded"); } } } fn main() { nested(bar(1, none::)); }