Skip to content

Commit e9ad039

Browse files
committed
early return on duplicate span lowerings
1 parent 2fcbda6 commit e9ad039

File tree

1 file changed

+17
-0
lines changed
  • compiler/rustc_ast_lowering/src

1 file changed

+17
-0
lines changed

compiler/rustc_ast_lowering/src/lib.rs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,23 @@ struct SpanLowerer {
220220
impl SpanLowerer {
221221
fn lower(&self, span: Span) -> Span {
222222
if self.is_incremental {
223+
// early return
224+
if span.parent().is_some_and(|i| i == self.def_id) {
225+
return span;
226+
}
227+
228+
// #[cfg(debug_assertions)]
229+
// {
230+
// if !span.is_dummy()
231+
// && let Some(p) = span.parent()
232+
// {
233+
// assert!(
234+
// p != self.def_id,
235+
// "duplicate span lowering detected, parent of span {span:?} was already set to {:?}",
236+
// self.def_id
237+
// );
238+
// }
239+
// }
223240
span.with_parent(Some(self.def_id))
224241
} else {
225242
// Do not make spans relative when not using incremental compilation.

0 commit comments

Comments
 (0)