summary refs log tree commit diff
path: root/src/test/run-pass/nested-pattern.rs
blob: 6eda8f11489c9d68b28e97df6235ea5be95b2665 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18


// 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<int>), }

fn nested(o: t) {
    alt o {
      bar(i, some::<int>(_)) { #error("wrong pattern matched"); fail; }
      _ { #error("succeeded"); }
    }
}

fn main() { nested(bar(1, none::<int>)); }