diff options
| author | Urgau <urgau@numericable.fr> | 2025-06-25 23:03:18 +0200 |
|---|---|---|
| committer | Urgau <urgau@numericable.fr> | 2025-06-25 23:03:18 +0200 |
| commit | 05d3d17248d63314e9c1bef1c6380b53e2f141ea (patch) | |
| tree | 9d1cec939b379074662a5f2b61413a22d2490d89 /compiler/rustc_lint/src | |
| parent | 8cf5fad73d4e8f41863ecc3bcfa114eabc951faa (diff) | |
| download | rust-05d3d17248d63314e9c1bef1c6380b53e2f141ea.tar.gz rust-05d3d17248d63314e9c1bef1c6380b53e2f141ea.zip | |
Fix suggestion spans inside macros for the `unused_must_use` lint
Diffstat (limited to 'compiler/rustc_lint/src')
| -rw-r--r-- | compiler/rustc_lint/src/unused.rs | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/compiler/rustc_lint/src/unused.rs b/compiler/rustc_lint/src/unused.rs index a868c887493..a206f71e153 100644 --- a/compiler/rustc_lint/src/unused.rs +++ b/compiler/rustc_lint/src/unused.rs @@ -183,6 +183,7 @@ impl<'tcx> LateLintPass<'tcx> for UnusedResults { let mut op_warned = false; if let Some(must_use_op) = must_use_op { + let span = expr.span.find_oldest_ancestor_in_same_ctxt(); cx.emit_span_lint( UNUSED_MUST_USE, expr.span, @@ -191,11 +192,11 @@ impl<'tcx> LateLintPass<'tcx> for UnusedResults { label: expr.span, suggestion: if expr_is_from_block { UnusedOpSuggestion::BlockTailExpr { - before_span: expr.span.shrink_to_lo(), - after_span: expr.span.shrink_to_hi(), + before_span: span.shrink_to_lo(), + after_span: span.shrink_to_hi(), } } else { - UnusedOpSuggestion::NormalExpr { span: expr.span.shrink_to_lo() } + UnusedOpSuggestion::NormalExpr { span: span.shrink_to_lo() } }, }, ); @@ -508,9 +509,10 @@ impl<'tcx> LateLintPass<'tcx> for UnusedResults { ); } MustUsePath::Def(span, def_id, reason) => { + let span = span.find_oldest_ancestor_in_same_ctxt(); cx.emit_span_lint( UNUSED_MUST_USE, - *span, + span, UnusedDef { pre: descr_pre, post: descr_post, |
