1using GLib; 2 3[Flags] 4enum Foo { 5 VAL1, 6 VAL2, 7 VAL3 8} 9 10void main () { 11 Foo foo, bar, baz; 12 13 foo = (Foo.VAL1 | Foo.VAL2 | Foo.VAL3); 14 bar = (Foo.VAL1 | Foo.VAL2); 15 baz = (bar | Foo.VAL3); 16 17 assert (Foo.VAL1 == 1 << 0); 18 assert (Foo.VAL2 == 1 << 1); 19 assert (Foo.VAL3 == 1 << 2); 20 21 assert (Foo.VAL1 in bar); 22 assert ((Foo.VAL1 | Foo.VAL2) in bar); 23 assert (!(Foo.VAL3 in bar)); 24 25 assert (Foo.VAL1 in baz); 26 assert (Foo.VAL2 in baz); 27 assert (Foo.VAL3 in baz); 28 29 assert (bar in foo); 30} 31 32