about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/rustc/middle/check_alt.rs1
-rw-r--r--src/test/run-pass/irrefutable-unit.rs3
2 files changed, 4 insertions, 0 deletions
diff --git a/src/rustc/middle/check_alt.rs b/src/rustc/middle/check_alt.rs
index 66216b523cb..07351f49bea 100644
--- a/src/rustc/middle/check_alt.rs
+++ b/src/rustc/middle/check_alt.rs
@@ -420,6 +420,7 @@ fn is_refutable(tcx: ty::ctxt, pat: @pat) -> bool {
         is_refutable(tcx, sub)
       }
       pat_wild | pat_ident(_, _, none) => { false }
+      pat_lit(@{node: expr_lit(@{node: lit_nil, _}), _}) => { false } // "()"
       pat_lit(_) | pat_range(_, _) => { true }
       pat_rec(fields, _) => {
         for fields.each |it| {
diff --git a/src/test/run-pass/irrefutable-unit.rs b/src/test/run-pass/irrefutable-unit.rs
new file mode 100644
index 00000000000..15b43913117
--- /dev/null
+++ b/src/test/run-pass/irrefutable-unit.rs
@@ -0,0 +1,3 @@
+fn main() {
+    let ((),()) = ((),());
+}