diff options
| author | Andrew Cann <shum@canndrew.org> | 2017-01-21 10:53:16 +0800 |
|---|---|---|
| committer | Andrew Cann <shum@canndrew.org> | 2017-01-21 10:53:16 +0800 |
| commit | ef9f0ab43e04a42a88830a072ae30258fc87351b (patch) | |
| tree | a6778b6d39653efdb886b706aaf1fe1fdd471ba3 | |
| parent | e7e7c360af2535257c419646d150338eadcb8ca3 (diff) | |
| download | rust-ef9f0ab43e04a42a88830a072ae30258fc87351b.tar.gz rust-ef9f0ab43e04a42a88830a072ae30258fc87351b.zip | |
Fix some nits
| -rw-r--r-- | src/librustc/hir/lowering.rs | 9 | ||||
| -rw-r--r-- | src/librustc_const_eval/check_match.rs | 2 |
2 files changed, 7 insertions, 4 deletions
diff --git a/src/librustc/hir/lowering.rs b/src/librustc/hir/lowering.rs index edfd5fbfa62..51f587ca46c 100644 --- a/src/librustc/hir/lowering.rs +++ b/src/librustc/hir/lowering.rs @@ -1869,20 +1869,21 @@ impl<'a> LoweringContext<'a> { }; let attrs = vec![attr]; - // Ok(val) => { #[allow(unreachable_code)] val } + // Ok(val) => #[allow(unreachable_code)] val, let ok_arm = { let val_ident = self.str_to_ident("val"); let val_pat = self.pat_ident(e.span, val_ident); let val_expr = P(self.expr_ident_with_attrs(e.span, val_ident, val_pat.id, - From::from(attrs.clone()))); + ThinVec::from(attrs.clone()))); let ok_pat = self.pat_ok(e.span, val_pat); self.arm(hir_vec![ok_pat], val_expr) }; - // Err(err) => return Carrier::from_error(From::from(err)) + // Err(err) => #[allow(unreachable_code)] + // return Carrier::from_error(From::from(err)), let err_arm = { let err_ident = self.str_to_ident("err"); let err_local = self.pat_ident(e.span, err_ident); @@ -1902,7 +1903,7 @@ impl<'a> LoweringContext<'a> { let ret_expr = P(self.expr(e.span, hir::Expr_::ExprRet(Some(from_err_expr)), - From::from(attrs))); + ThinVec::from(attrs))); let err_pat = self.pat_err(e.span, err_local); self.arm(hir_vec![err_pat], ret_expr) diff --git a/src/librustc_const_eval/check_match.rs b/src/librustc_const_eval/check_match.rs index 5046920f5e3..52f332a30c0 100644 --- a/src/librustc_const_eval/check_match.rs +++ b/src/librustc_const_eval/check_match.rs @@ -322,6 +322,8 @@ fn check_arms<'a, 'tcx>(cx: &mut MatchCheckCtxt<'a, 'tcx>, hir_pat.id, diagnostic); }, + // Unreachable patterns in try expressions occur when one of the arms + // are an uninhabited type. Which is OK. hir::MatchSource::TryDesugar => {} } } |
