about summary refs log tree commit diff
diff options
context:
space:
mode:
authorlcnr <rust@lcnr.de>2025-09-23 15:25:35 +0200
committerlcnr <rust@lcnr.de>2025-09-26 16:33:15 +0200
commit70f6493f261810b07d69ab0ffb661cf4ed8a97a7 (patch)
tree3adeea1c873345d8a177699f748d3c511d07fd2c
parentb70a15f5f62f17f1bea1a0260fe629143cf55316 (diff)
downloadrust-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.rs4
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));