diff options
Diffstat (limited to 'tests/ui/binding/match-str.rs')
-rw-r--r-- | tests/ui/binding/match-str.rs | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/ui/binding/match-str.rs b/tests/ui/binding/match-str.rs new file mode 100644 index 000000000..0ee18ea18 --- /dev/null +++ b/tests/ui/binding/match-str.rs @@ -0,0 +1,25 @@ +// run-pass +#![allow(dead_code)] +// Issue #53 +#![allow(non_camel_case_types)] + + +pub fn main() { + match "test" { "not-test" => panic!(), "test" => (), _ => panic!() } + + enum t { tag1(String), tag2, } + + + match t::tag1("test".to_string()) { + t::tag2 => panic!(), + t::tag1(ref s) if "test" != &**s => panic!(), + t::tag1(ref s) if "test" == &**s => (), + _ => panic!() + } + + let x = match "a" { "a" => 1, "b" => 2, _ => panic!() }; + assert_eq!(x, 1); + + match "a" { "a" => { } "b" => { }, _ => panic!() } + +} |