diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2025-02-09 19:44:52 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-02-09 19:44:52 +0100 |
| commit | d64bd3beddfcbed43b208189a0a00ec6c1037b44 (patch) | |
| tree | be97e7d1bfebd6c88eac7cd4be7d0ab14db9b2c1 /compiler/rustc_middle/src | |
| parent | 370c8afa10438dd8eb70dcb4040152b1cb8395ff (diff) | |
| parent | da4cf03f827d5f42f91c8076f68f21ccc4414d88 (diff) | |
| download | rust-d64bd3beddfcbed43b208189a0a00ec6c1037b44.tar.gz rust-d64bd3beddfcbed43b208189a0a00ec6c1037b44.zip | |
Rollup merge of #136722 - kornelski:visit-spans, r=chenyukang
Visit all debug info in MIR Visitor I've been experimenting with simplifying debug info in MIR inliner, and discovered that MIR Visitor doesn't reliably visit all spans. This PR adds the missing visitor calls.
Diffstat (limited to 'compiler/rustc_middle/src')
| -rw-r--r-- | compiler/rustc_middle/src/mir/visit.rs | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/compiler/rustc_middle/src/mir/visit.rs b/compiler/rustc_middle/src/mir/visit.rs index 8d04bbb95bd..8ad88fbda7c 100644 --- a/compiler/rustc_middle/src/mir/visit.rs +++ b/compiler/rustc_middle/src/mir/visit.rs @@ -527,8 +527,9 @@ macro_rules! make_mir_visitor { target: _, unwind: _, call_source: _, - fn_span: _ + fn_span, } => { + self.visit_span($(& $mutability)? *fn_span); self.visit_operand(func, location); for arg in args { self.visit_operand(&$($mutability)? arg.node, location); @@ -543,8 +544,9 @@ macro_rules! make_mir_visitor { TerminatorKind::TailCall { func, args, - fn_span: _, + fn_span, } => { + self.visit_span($(& $mutability)? *fn_span); self.visit_operand(func, location); for arg in args { self.visit_operand(&$($mutability)? arg.node, location); @@ -853,6 +855,8 @@ macro_rules! make_mir_visitor { local_info: _, } = local_decl; + self.visit_source_info(source_info); + self.visit_ty($(& $mutability)? *ty, TyContext::LocalDecl { local, source_info: *source_info, @@ -862,7 +866,6 @@ macro_rules! make_mir_visitor { self.visit_user_type_projection(user_ty); } } - self.visit_source_info(source_info); } fn super_var_debug_info( |
