diff options
| author | bors <bors@rust-lang.org> | 2024-10-10 09:17:20 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2024-10-10 09:17:20 +0000 |
| commit | 8e60f143d8ec85b1b1dcb0ce09d523dfea4bdc4f (patch) | |
| tree | 508e3b10117c1c0525ca5c2de071d512477a4f03 /compiler/rustc_codegen_llvm/src | |
| parent | 1f8f982f222cfaacdfe2c8aa05ab535e54405a1f (diff) | |
| parent | 55834a362c1e849bbab9cb0adc641a22be598d7e (diff) | |
| download | rust-8e60f143d8ec85b1b1dcb0ce09d523dfea4bdc4f.tar.gz rust-8e60f143d8ec85b1b1dcb0ce09d523dfea4bdc4f.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_codegen_llvm/src')
0 files changed, 0 insertions, 0 deletions
