From 4b7c8b0b53c2bea54e9cd029c68ebdc6f668b1b8 Mon Sep 17 00:00:00 2001 From: Camelid Date: Sat, 8 May 2021 15:14:21 -0700 Subject: [PATCH] Add `#[track_caller]` to `FakeDefId::expect_real()` Now, in the case that the function is not inlined, the panic location will be the caller's location, which is more helpful since the panic is not `expect_real()`'s fault. --- src/librustdoc/clean/types.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/librustdoc/clean/types.rs b/src/librustdoc/clean/types.rs index 550df203a9fee..33aa42b137a23 100644 --- a/src/librustdoc/clean/types.rs +++ b/src/librustdoc/clean/types.rs @@ -86,6 +86,7 @@ impl FakeDefId { } #[inline] + #[track_caller] crate fn expect_real(self) -> rustc_hir::def_id::DefId { self.as_real().unwrap_or_else(|| panic!("FakeDefId::expect_real: `{:?}` isn't real", self)) }