Track span dependency using a callback.
This commit is contained in:
parent
e85ddeb474
commit
b19ae20aad
6 changed files with 40 additions and 5 deletions
|
@ -1947,6 +1947,7 @@ pub struct FileLines {
|
|||
|
||||
pub static SPAN_DEBUG: AtomicRef<fn(Span, &mut fmt::Formatter<'_>) -> fmt::Result> =
|
||||
AtomicRef::new(&(default_span_debug as fn(_, &mut fmt::Formatter<'_>) -> _));
|
||||
pub static SPAN_TRACK: AtomicRef<fn(LocalDefId)> = AtomicRef::new(&((|_| {}) as fn(_)));
|
||||
|
||||
// _____________________________________________________________________________
|
||||
// SpanLinesError, SpanSnippetError, DistinctSources, MalformedSourceMapPositions
|
||||
|
@ -2031,7 +2032,7 @@ where
|
|||
return;
|
||||
}
|
||||
|
||||
let span = self.data();
|
||||
let span = self.decode();
|
||||
span.ctxt.hash_stable(ctx, hasher);
|
||||
span.parent.hash_stable(ctx, hasher);
|
||||
|
||||
|
@ -2041,7 +2042,7 @@ where
|
|||
}
|
||||
|
||||
if let Some(parent) = span.parent {
|
||||
let def_span = ctx.def_span(parent).data();
|
||||
let def_span = ctx.def_span(parent).decode();
|
||||
if def_span.contains(span) {
|
||||
// This span is enclosed in a definition: only hash the relative position.
|
||||
Hash::hash(&TAG_RELATIVE_SPAN, hasher);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue