// 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::)); }