@@ -1841,31 +1841,29 @@ impl<'cx, 'gcx, 'tcx> MirBorrowckCtxt<'cx, 'gcx, 'tcx> {
18411841 elem : ProjectionElem :: Deref ,
18421842 } ) if self . mir . local_decls [ * local] . is_user_variable . is_some ( ) => {
18431843 let local_decl = & self . mir . local_decls [ * local] ;
1844- let suggestion = match local_decl. is_user_variable {
1845- Some ( ClearCrossCrate :: Set ( mir:: BindingForm :: ImplicitSelf ) ) => {
1844+ let suggestion = match local_decl. is_user_variable . as_ref ( ) . unwrap ( ) {
1845+ ClearCrossCrate :: Set ( mir:: BindingForm :: ImplicitSelf ) => {
18461846 Some ( suggest_ampmut_self ( local_decl) )
18471847 } ,
18481848
1849- Some ( ClearCrossCrate :: Set ( mir:: BindingForm :: Var ( mir:: VarBindingForm {
1849+ ClearCrossCrate :: Set ( mir:: BindingForm :: Var ( mir:: VarBindingForm {
18501850 binding_mode : ty:: BindingMode :: BindByValue ( _) ,
18511851 opt_ty_info,
18521852 ..
1853- } ) ) ) => Some ( suggest_ampmut (
1853+ } ) ) => Some ( suggest_ampmut (
18541854 self . tcx ,
18551855 self . mir ,
18561856 * local,
18571857 local_decl,
1858- opt_ty_info,
1858+ * opt_ty_info,
18591859 ) ) ,
18601860
1861- Some ( ClearCrossCrate :: Set ( mir:: BindingForm :: Var ( mir:: VarBindingForm {
1861+ ClearCrossCrate :: Set ( mir:: BindingForm :: Var ( mir:: VarBindingForm {
18621862 binding_mode : ty:: BindingMode :: BindByReference ( _) ,
18631863 ..
1864- } ) ) ) => suggest_ref_mut ( self . tcx , local_decl) ,
1865-
1866- Some ( ClearCrossCrate :: Clear ) => bug ! ( "saw cleared local state" ) ,
1864+ } ) ) => suggest_ref_mut ( self . tcx , local_decl) ,
18671865
1868- None => bug ! ( ) ,
1866+ ClearCrossCrate :: Clear => bug ! ( "saw cleared local state" ) ,
18691867 } ;
18701868
18711869 if let Some ( ( err_help_span, suggested_code) ) = suggestion {
0 commit comments