diff --git a/src/rustc/middle/check_alt.rs b/src/rustc/middle/check_alt.rs index 66216b523cb4..07351f49bea5 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 000000000000..15b439131178 --- /dev/null +++ b/src/test/run-pass/irrefutable-unit.rs @@ -0,0 +1,3 @@ +fn main() { + let ((),()) = ((),()); +}