Skip to content

Commit 5807c4b

Browse files
committed
source_span hook in case of non-incremental build
1 parent 1e1a394 commit 5807c4b

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

compiler/rustc_middle/src/query/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,7 @@ rustc_queries! {
209209
/// Contrary to `def_span` below, this query returns the full absolute span of the definition.
210210
/// This span is meant for dep-tracking rather than diagnostics. It should not be used outside
211211
/// of rustc_middle::hir::source_map.
212-
query source_span(key: LocalDefId) -> Span {
212+
query source_span_q(key: LocalDefId) -> Span {
213213
// Accesses untracked data
214214
eval_always
215215
desc { "getting the source span" }

compiler/rustc_middle/src/ty/context.rs

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3525,6 +3525,15 @@ impl<'tcx> TyCtxt<'tcx> {
35253525
}
35263526
false
35273527
}
3528+
3529+
#[inline]
3530+
pub fn source_span(self, key: LocalDefId) -> Span {
3531+
if self.dep_graph.is_fully_enabled() {
3532+
self.source_span_q(key)
3533+
} else {
3534+
self.untracked.source_span.get(key).unwrap_or(DUMMY_SP)
3535+
}
3536+
}
35283537
}
35293538

35303539
/// Parameter attributes that can only be determined by examining the body of a function instead
@@ -3551,7 +3560,8 @@ pub fn provide(providers: &mut Providers) {
35513560
// We want to check if the panic handler was defined in this crate
35523561
tcx.lang_items().panic_impl().is_some_and(|did| did.is_local())
35533562
};
3554-
providers.source_span = |tcx, def_id| tcx.untracked.source_span.get(def_id).unwrap_or(DUMMY_SP);
3563+
providers.source_span_q =
3564+
|tcx, def_id| tcx.untracked.source_span.get(def_id).unwrap_or(DUMMY_SP);
35553565
}
35563566

35573567
pub fn contains_name(attrs: &[Attribute], name: Symbol) -> bool {

0 commit comments

Comments
 (0)