rust/src/test/run-pass/alt-range.rs
Marijn Haverbeke 67cc89f38d Rewrite exhaustiveness checker
Issue #352
Closes #1720

The old checker would happily accept things like 'alt x { @some(a) { a } }'.
It now properly descends into patterns, checks exhaustiveness of booleans,
and complains when number/string patterns aren't exhaustive.
2012-02-15 15:47:42 +01:00

31 lines
613 B
Rust

fn main() {
alt 5u {
1u to 5u {}
_ { fail "should match range"; }
}
alt 5u {
6u to 7u { fail "shouldn't match range"; }
_ {}
}
alt check 5u {
1u { fail "should match non-first range"; }
2u to 6u {}
}
alt 'c' {
'a' to 'z' {}
_ { fail "should suppport char ranges"; }
}
alt -3 {
-7 to 5 {}
_ { fail "should match signed range"; }
}
alt 3.0 {
1.0 to 5.0 {}
_ { fail "should match float range"; }
}
alt -1.5 {
-3.6 to 3.6 {}
_ { fail "should match negative float range"; }
}
}