summaryrefslogtreecommitdiffstats
path: root/src/test/ui/binding/match-str.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/binding/match-str.rs')
-rw-r--r--src/test/ui/binding/match-str.rs25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/test/ui/binding/match-str.rs b/src/test/ui/binding/match-str.rs
new file mode 100644
index 000000000..0ee18ea18
--- /dev/null
+++ b/src/test/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!() }
+
+}