diff options
| author | Bryanskiy <ivakin.kir@gmail.com> | 2024-07-31 18:58:04 +0300 |
|---|---|---|
| committer | Bryanskiy <ivakin.kir@gmail.com> | 2024-07-31 18:58:04 +0300 |
| commit | 9b097b2d44a8f953640ba42122a804485d651ea9 (patch) | |
| tree | 41b120822b815330e0b22e38d145b36e3f04e3f7 /compiler/rustc_middle | |
| parent | 595316b4006932405a63862d8fe65f71a6356293 (diff) | |
| download | rust-9b097b2d44a8f953640ba42122a804485d651ea9.tar.gz rust-9b097b2d44a8f953640ba42122a804485d651ea9.zip | |
Delegation: second attempt to improve perf
Diffstat (limited to 'compiler/rustc_middle')
| -rw-r--r-- | compiler/rustc_middle/src/hir/map/mod.rs | 13 |
1 files changed, 1 insertions, 12 deletions
diff --git a/compiler/rustc_middle/src/hir/map/mod.rs b/compiler/rustc_middle/src/hir/map/mod.rs index 1705c016437..4c243e6330b 100644 --- a/compiler/rustc_middle/src/hir/map/mod.rs +++ b/compiler/rustc_middle/src/hir/map/mod.rs @@ -747,18 +747,7 @@ impl<'hir> Map<'hir> { } pub fn opt_delegation_sig_id(self, def_id: LocalDefId) -> Option<DefId> { - if let Some(ret) = self.get_fn_output(def_id) - && let FnRetTy::Return(ty) = ret - && let TyKind::InferDelegation(sig_id, _) = ty.kind - { - return Some(sig_id); - } - None - } - - #[inline] - pub fn delegation_sig_id(self, def_id: LocalDefId) -> DefId { - self.opt_delegation_sig_id(def_id).unwrap() + self.tcx.opt_hir_owner_node(def_id)?.fn_decl()?.opt_delegation_sig_id() } #[inline] |
