diff options
| author | ashtneoi <ashtneoi@gmail.com> | 2018-07-11 00:44:55 -0700 |
|---|---|---|
| committer | ashtneoi <ashtneoi@gmail.com> | 2018-07-12 22:51:30 -0700 |
| commit | 73a979ad63ea20821996809aaccb82767ac84658 (patch) | |
| tree | 7aa5a47f87591df41f3bf082a825412ec0bbd049 | |
| parent | b8b04f6385ce9909a165ff47c5ebf49ded1fc6db (diff) | |
| download | rust-73a979ad63ea20821996809aaccb82767ac84658.tar.gz rust-73a979ad63ea20821996809aaccb82767ac84658.zip | |
Simplify match expression
| -rw-r--r-- | src/librustc_mir/borrow_check/mod.rs | 18 |
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 { |
