fn helper<'a, 'tcx>(
            mc: &MemCategorizationContext<'a, 'tcx>,
            expr: &hir::Expr<'_>,
            adjustments: &[adjustment::Adjustment<'tcx>],
        ) -> McResult<PlaceWithHirId<'tcx>> {
            match adjustments.split_last() {
                None => mc.cat_expr_unadjusted(expr),
                Some((adjustment, previous)) => {
                    mc.cat_expr_adjusted_with(expr, || helper(mc, expr, previous), adjustment)
                }
            }
        }
// This recursion helper avoids going through *too many*
// adjustments, since *only* non-overloaded deref recurses.
This recursion helper avoids going through *too many
adjustments, since *only* non-overloaded deref recurses.
This recursion helper avoids going through * too many adjustments since * only * non - overloaded deref recurses .
fn helper<'a, 'tcx>(
            mc: &MemCategorizationContext<'a, 'tcx>,
            expr: &hir::Expr<'_>,
            adjustments: &[adjustment::Adjustment<'tcx>],
        ) -> McResult<PlaceWithHirId<'tcx>> {
            match adjustments.split_last() {
                None => mc.cat_expr_unadjusted(expr),
                Some((adjustment, previous)) => {
                    mc.cat_expr_adjusted_with(expr, || helper(mc, expr, previous), adjustment)
                }
            }
        }
fn helper < ' a , ' tcx > ( mc : & MemCategorizationContext < ' a , ' tcx > , expr : & hir :: Expr < ' _ > , adjustments : & [ adjustment :: Adjustment < ' tcx > ] , ) -> McResult < PlaceWithHirId < ' tcx > > { match adjustments . split_last ( ) { None => mc . cat_expr_unadjusted ( expr ) , Some ( ( adjustment , previous ) ) => { mc . cat_expr_adjusted_with ( expr , | | helper ( mc , expr , previous ) , adjustment ) } } }
This recursion helper avoids going through *too many
adjustments, since *only* non-overloaded deref recurses.
This recursion helper avoids going through * too many adjustments since * only * non - overloaded deref recurses .
mc
&MemCategorizationContext<'a, 'tcx>
expr
&hir::Expr<'_>
adjustments
&[adjustment::Adjustment<'tcx>]
mc
&MemCategorizationContext<'a, 'tcx>
expr
&hir::Expr<'_>
adjustments
&[adjustment::Adjustment<'tcx>]