mirror of
https://github.com/rust-lang/rust.git
synced 2026-05-15 20:45:45 +03:00
Auto merge of #83293 - osa1:82436_perf, r=varkor
Revert performance-sensitive change in #82436 This change was done in #82436, as an "optimization". Unfortunately I missed that this code is not always executed, because of the "continue" in the conditional above it. This commit should solve the perf regressions introduced by #82436 as I think there isn't anything else that could affect runtime performance in that PR. The `Pick` type grows only one word, which I doubt can cause up to 8.8% increase in RSS in some of the benchmarks. --- Could someone with the rights start a perf job please?
This commit is contained in:
@@ -742,9 +742,6 @@ fn assemble_inherent_impl_probe(&mut self, impl_def_id: DefId) {
|
||||
|
||||
debug!("assemble_inherent_impl_probe {:?}", impl_def_id);
|
||||
|
||||
let (impl_ty, impl_substs) = self.impl_ty_and_substs(impl_def_id);
|
||||
let impl_ty = impl_ty.subst(self.tcx, impl_substs);
|
||||
|
||||
for item in self.impl_or_trait_item(impl_def_id) {
|
||||
if !self.has_applicable_self(&item) {
|
||||
// No receiver declared. Not a candidate.
|
||||
@@ -752,6 +749,9 @@ fn assemble_inherent_impl_probe(&mut self, impl_def_id: DefId) {
|
||||
continue;
|
||||
}
|
||||
|
||||
let (impl_ty, impl_substs) = self.impl_ty_and_substs(impl_def_id);
|
||||
let impl_ty = impl_ty.subst(self.tcx, impl_substs);
|
||||
|
||||
// Determine the receiver type that the method itself expects.
|
||||
let xform_tys = self.xform_self_ty(&item, impl_ty, impl_substs);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user