Auto merge of #149060 - jdonszelmann:duplicate-span-lowering, r=WaffleLapkin

early return on duplicate span lowerings

`@bors2` try
This commit is contained in:
bors 2025-12-07 16:56:12 +00:00
commit fa1f706fbd

View file

@ -225,6 +225,13 @@ struct SpanLowerer {
impl SpanLowerer {
fn lower(&self, span: Span) -> Span {
if self.is_incremental {
// early return: span lowering takes some time since it accesses the query dependency graph
// to make sure we rerun the right code paths when spans change. When we've already lowered a span,
// or don't have to, bail out ASAP.
if span.is_dummy() || span.parent().is_some_and(|i| i == self.def_id) {
return span;
}
span.with_parent(Some(self.def_id))
} else {
// Do not make spans relative when not using incremental compilation.