about summary refs log tree commit diff
diff options
context:
space:
mode:
authorashtneoi <ashtneoi@gmail.com>2018-07-11 00:44:55 -0700
committerashtneoi <ashtneoi@gmail.com>2018-07-12 22:51:30 -0700
commit73a979ad63ea20821996809aaccb82767ac84658 (patch)
tree7aa5a47f87591df41f3bf082a825412ec0bbd049
parentb8b04f6385ce9909a165ff47c5ebf49ded1fc6db (diff)
downloadrust-73a979ad63ea20821996809aaccb82767ac84658.tar.gz
rust-73a979ad63ea20821996809aaccb82767ac84658.zip
Simplify match expression
-rw-r--r--src/librustc_mir/borrow_check/mod.rs18
1 files changed, 8 insertions, 10 deletions
diff --git a/src/librustc_mir/borrow_check/mod.rs b/src/librustc_mir/borrow_check/mod.rs
index 039f43cd213..b754fde9069 100644
--- a/src/librustc_mir/borrow_check/mod.rs
+++ b/src/librustc_mir/borrow_check/mod.rs
@@ -1841,31 +1841,29 @@ impl<'cx, 'gcx, 'tcx> MirBorrowckCtxt<'cx, 'gcx, 'tcx> {
                 elem: ProjectionElem::Deref,
             }) if self.mir.local_decls[*local].is_user_variable.is_some() => {
                 let local_decl = &self.mir.local_decls[*local];
-                let suggestion = match local_decl.is_user_variable {
-                    Some(ClearCrossCrate::Set(mir::BindingForm::ImplicitSelf)) => {
+                let suggestion = match local_decl.is_user_variable.as_ref().unwrap() {
+                    ClearCrossCrate::Set(mir::BindingForm::ImplicitSelf) => {
                         Some(suggest_ampmut_self(local_decl))
                     },
 
-                    Some(ClearCrossCrate::Set(mir::BindingForm::Var(mir::VarBindingForm {
+                    ClearCrossCrate::Set(mir::BindingForm::Var(mir::VarBindingForm {
                         binding_mode: ty::BindingMode::BindByValue(_),
                         opt_ty_info,
                         ..
-                    }))) => Some(suggest_ampmut(
+                    })) => Some(suggest_ampmut(
                         self.tcx,
                         self.mir,
                         *local,
                         local_decl,
-                        opt_ty_info,
+                        *opt_ty_info,
                     )),
 
-                    Some(ClearCrossCrate::Set(mir::BindingForm::Var(mir::VarBindingForm {
+                    ClearCrossCrate::Set(mir::BindingForm::Var(mir::VarBindingForm {
                         binding_mode: ty::BindingMode::BindByReference(_),
                         ..
-                    }))) => suggest_ref_mut(self.tcx, local_decl),
-
-                    Some(ClearCrossCrate::Clear) => bug!("saw cleared local state"),
+                    })) => suggest_ref_mut(self.tcx, local_decl),
 
-                    None => bug!(),
+                    ClearCrossCrate::Clear => bug!("saw cleared local state"),
                 };
 
                 if let Some((err_help_span, suggested_code)) = suggestion {