/src/test/run-pass/or-pattern.rs

http://github.com/jruderman/rust · Rust · 11 lines · 9 code · 2 blank · 0 comment · 4 complexity · 066d45679a3a6f25e23b4a6c7420c4c5 MD5 · raw file

  1. enum blah { a(int, int, uint), b(int, int), c, }
  2. fn or_alt(q: blah) -> int {
  3. match q { a(x, y, _) | b(x, y) => { return x + y; } c => { return 0; } }
  4. }
  5. fn main() {
  6. assert (or_alt(c) == 0);
  7. assert (or_alt(a(10, 100, 0u)) == 110);
  8. assert (or_alt(b(20, 200)) == 220);
  9. }