blob: 1f31311afdde812d2f6a827f83e7c06bdb52ccbf (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
namespace;
include rt;
// a switch on a tagged enum that leaves out a member, with no default, warns
enum shape { circle { int r; }, rect { int w; int h; }, dot };
fn name(shape* s) {
switch (s) {
case circle(r): return 1;
case dot: return 2;
}
return 0;
}
fn main() {
shape* a = shape.rect(2, 2);
rt.put_n(name(a)); rt.put_c(10);
rt.free(d*a);
return 0;
}
|