Skip to content

Commit

Permalink
Minor refactoring in try_index_step
Browse files Browse the repository at this point in the history
Merges `if-let` and `if x.is_some() { ... }` blocks
  • Loading branch information
osa1 committed Mar 14, 2021
1 parent 2caeeb0 commit 6ddd840
Showing 1 changed file with 4 additions and 6 deletions.
10 changes: 4 additions & 6 deletions compiler/rustc_typeck/src/check/place_op.rs
Original file line number Diff line number Diff line change
Expand Up @@ -103,9 +103,9 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
let method =
self.try_overloaded_place_op(expr.span, self_ty, &[input_ty], PlaceOp::Index);

let result = method.map(|ok| {
if let Some(result) = method {
debug!("try_index_step: success, using overloaded indexing");
let method = self.register_infer_ok_obligations(ok);
let method = self.register_infer_ok_obligations(result);

let mut adjustments = self.adjust_steps(autoderef);
if let ty::Ref(region, _, hir::Mutability::Not) = method.sig.inputs()[0].kind() {
Expand All @@ -128,10 +128,8 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
self.apply_adjustments(base_expr, adjustments);

self.write_method_call(expr.hir_id, method);
(input_ty, self.make_overloaded_place_return_type(method).ty)
});
if result.is_some() {
return result;

return Some((input_ty, self.make_overloaded_place_return_type(method).ty));
}
}

Expand Down

0 comments on commit 6ddd840

Please sign in to comment.