From 0dca136841191074e1703ae9eccc8b15aadb643f Mon Sep 17 00:00:00 2001 From: Oli Scherer Date: Thu, 4 Apr 2024 09:46:53 +0000 Subject: [PATCH] Try explicitly outlining the panic machinery --- compiler/rustc_hir/src/definitions.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/compiler/rustc_hir/src/definitions.rs b/compiler/rustc_hir/src/definitions.rs index ce910f131013..cd5da279a262 100644 --- a/compiler/rustc_hir/src/definitions.rs +++ b/compiler/rustc_hir/src/definitions.rs @@ -383,11 +383,16 @@ impl Definitions { err_msg: &dyn std::fmt::Debug, ) -> LocalDefId { debug_assert!(hash.stable_crate_id() == self.table.stable_crate_id); + #[cold] + #[inline(never)] + fn err(err_msg: &dyn std::fmt::Debug) -> ! { + panic!("{err_msg:?}") + } self.table .def_path_hash_to_index .get(&hash.local_hash()) .map(|local_def_index| LocalDefId { local_def_index }) - .unwrap_or_else(|| panic!("{err_msg:?}")) + .unwrap_or_else(|| err(err_msg)) } pub fn def_path_hash_to_def_index_map(&self) -> &DefPathHashMap {