about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/test/compile-fail/issue-2111.rs11
-rw-r--r--src/test/run-pass/issue-912.rs8
2 files changed, 19 insertions, 0 deletions
diff --git a/src/test/compile-fail/issue-2111.rs b/src/test/compile-fail/issue-2111.rs
new file mode 100644
index 00000000000..5e289af9f51
--- /dev/null
+++ b/src/test/compile-fail/issue-2111.rs
@@ -0,0 +1,11 @@
+fn foo(a: option<uint>, b: option<uint>) {
+  alt (a,b) { //! ERROR: non-exhaustive patterns: none not covered
+    (some(a), some(b)) if a == b { }
+    (some(_), none) |
+    (none, some(_)) { }
+  }
+}
+
+fn main() {
+  foo(none, none);
+}
\ No newline at end of file
diff --git a/src/test/run-pass/issue-912.rs b/src/test/run-pass/issue-912.rs
new file mode 100644
index 00000000000..77a349b4ec9
--- /dev/null
+++ b/src/test/run-pass/issue-912.rs
@@ -0,0 +1,8 @@
+// xfail-test
+fn find<T>(_f: fn(@T) -> bool, _v: [@T]) {}
+
+fn main() {
+    let x = 10, arr = [];
+    find({|f| f.id == x}, arr);
+    arr += [{id: 20}]; // This assigns a type to arr
+}