/src/test/run-pass/alt-tag.rs

http://github.com/jruderman/rust · Rust · 28 lines · 22 code · 5 blank · 1 comment · 4 complexity · 0d5fd3ddb73538bec93397cf1e336e8a MD5 · raw file

  1. // -*- rust -*-
  2. enum color {
  3. rgb(int, int, int),
  4. rgba(int, int, int, int),
  5. hsl(int, int, int),
  6. }
  7. fn process(c: color) -> int {
  8. let mut x: int;
  9. match c {
  10. rgb(r, _, _) => { debug!{"rgb"}; log(debug, r); x = r; }
  11. rgba(_, _, _, a) => { debug!{"rgba"}; log(debug, a); x = a; }
  12. hsl(_, s, _) => { debug!{"hsl"}; log(debug, s); x = s; }
  13. }
  14. return x;
  15. }
  16. fn main() {
  17. let gray: color = rgb(127, 127, 127);
  18. let clear: color = rgba(50, 150, 250, 0);
  19. let red: color = hsl(0, 255, 255);
  20. assert (process(gray) == 127);
  21. assert (process(clear) == 0);
  22. assert (process(red) == 255);
  23. }