diff options
| -rw-r--r-- | src/librustc/hir/lowering.rs | 17 | ||||
| -rw-r--r-- | src/test/run-pass/issue-41272.rs | 10 |
2 files changed, 18 insertions, 9 deletions
diff --git a/src/librustc/hir/lowering.rs b/src/librustc/hir/lowering.rs index adefd2a8d7b..994364ba181 100644 --- a/src/librustc/hir/lowering.rs +++ b/src/librustc/hir/lowering.rs @@ -2048,15 +2048,14 @@ impl<'a> LoweringContext<'a> { // _ => [<else_opt>|()] { - let wildcard_arm: Option<&Expr> = else_opt.as_ref().map(|p| &**p); - let wildcard_pattern = self.pat_wild(e.span); - let body = - if let Some(else_expr) = wildcard_arm { - P(self.lower_expr(else_expr)) - } else { - self.expr_tuple(e.span, hir_vec![]) - }; - arms.push(self.arm(hir_vec![wildcard_pattern], body)); + let wildcard_arm: Option<&Expr> = else_opt.as_ref().map(|p| &**p); + let wildcard_pattern = self.pat_wild(e.span); + let body = if let Some(else_expr) = wildcard_arm { + P(self.lower_expr(else_expr)) + } else { + self.expr_tuple(e.span, hir_vec![]) + }; + arms.push(self.arm(hir_vec![wildcard_pattern], body)); } let contains_else_clause = else_opt.is_some(); diff --git a/src/test/run-pass/issue-41272.rs b/src/test/run-pass/issue-41272.rs index 154aa5b8cbe..d0834a26ae7 100644 --- a/src/test/run-pass/issue-41272.rs +++ b/src/test/run-pass/issue-41272.rs @@ -1,3 +1,13 @@ +// Copyright 2017 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or +// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + struct Foo; impl Foo { |
