about summary refs log tree commit diff
path: root/compiler/rustc_codegen_llvm/src
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2024-10-10 09:17:20 +0000
committerbors <bors@rust-lang.org>2024-10-10 09:17:20 +0000
commit8e60f143d8ec85b1b1dcb0ce09d523dfea4bdc4f (patch)
tree508e3b10117c1c0525ca5c2de071d512477a4f03 /compiler/rustc_codegen_llvm/src
parent1f8f982f222cfaacdfe2c8aa05ab535e54405a1f (diff)
parent55834a362c1e849bbab9cb0adc641a22be598d7e (diff)
downloadrust-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