diff options
| author | bors <bors@rust-lang.org> | 2024-10-10 09:17:20 +0000 |
|---|---|---|
| committer | Philipp Krones <hello@philkrones.com> | 2024-10-10 11:34:13 +0200 |
| commit | a21a9fe3322cf3c3707f6e6ac644dfbe118a66dc (patch) | |
| tree | acec1fa92b347dd5d7f92dd7db5f64fc58b1c64b /compiler/rustc_pattern_analysis/src/errors.rs | |
| parent | df1b5d3cc2117f1ee96abca25678bc5f5604d450 (diff) | |
| download | rust-a21a9fe3322cf3c3707f6e6ac644dfbe118a66dc.tar.gz rust-a21a9fe3322cf3c3707f6e6ac644dfbe118a66dc.zip | |
Auto merge of #13464 - y21:issue13458, r=flip1995
Don't warn on proc macro generated code in `needless_return`
Fixes #13458
Fixes #13457
Fixes #13467
Fixes #13479
Fixes #13481
Fixes #13526
Fixes #13486
The fix is unfortunately a little more convoluted than just simply adding a `is_from_proc_macro`. That check *does* fix the issue, however it also introduces a bunch of false negatives in the tests, specifically when the returned expression is in a different syntax context, e.g. `return format!(..)`.
The proc macro check builds up a start and end pattern based on the HIR nodes and compares it to a snippet of the span, however that would currently fail for `return format!(..)` because we would have the patterns `("return", <something inside of the format macro>)`, which doesn't compare equal. So we now return an empty string pattern for when it's in a different syntax context.
"Hide whitespace" helps a bit for reviewing the proc macro detection change
changelog: none
Diffstat (limited to 'compiler/rustc_pattern_analysis/src/errors.rs')
0 files changed, 0 insertions, 0 deletions
