diff options
| author | lcnr <rust@lcnr.de> | 2025-09-23 15:25:35 +0200 |
|---|---|---|
| committer | lcnr <rust@lcnr.de> | 2025-09-26 16:33:15 +0200 |
| commit | 70f6493f261810b07d69ab0ffb661cf4ed8a97a7 (patch) | |
| tree | 3adeea1c873345d8a177699f748d3c511d07fd2c | |
| parent | b70a15f5f62f17f1bea1a0260fe629143cf55316 (diff) | |
| download | rust-70f6493f261810b07d69ab0ffb661cf4ed8a97a7.tar.gz rust-70f6493f261810b07d69ab0ffb661cf4ed8a97a7.zip | |
remove unnecessary structurally resolve
`autoderef` already resolved and `method_autoderef_steps` makes sure we won't encounter an inference variable
| -rw-r--r-- | compiler/rustc_hir_typeck/src/method/confirm.rs | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/compiler/rustc_hir_typeck/src/method/confirm.rs b/compiler/rustc_hir_typeck/src/method/confirm.rs index a23910a2006..b23e7ae8e77 100644 --- a/compiler/rustc_hir_typeck/src/method/confirm.rs +++ b/compiler/rustc_hir_typeck/src/method/confirm.rs @@ -172,7 +172,7 @@ impl<'a, 'tcx> ConfirmContext<'a, 'tcx> { // Commit the autoderefs by calling `autoderef` again, but this // time writing the results into the various typeck results. let mut autoderef = self.autoderef(self.call_expr.span, unadjusted_self_ty); - let Some((ty, n)) = autoderef.nth(pick.autoderefs) else { + let Some((mut target, n)) = autoderef.nth(pick.autoderefs) else { return Ty::new_error_with_message( self.tcx, DUMMY_SP, @@ -182,8 +182,6 @@ impl<'a, 'tcx> ConfirmContext<'a, 'tcx> { assert_eq!(n, pick.autoderefs); let mut adjustments = self.adjust_steps(&autoderef); - let mut target = self.structurally_resolve_type(autoderef.span(), ty); - match pick.autoref_or_ptr_adjustment { Some(probe::AutorefOrPtrAdjustment::Autoref { mutbl, unsize }) => { let region = self.next_region_var(RegionVariableOrigin::Autoref(self.span)); |
