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 | 806a9dfdddeccbda4e6e052c0201c49cdfc8344d (patch) | |
| tree | 4ac71799d66bbabd5bf8979edd7760ee31b8134b /library/std/src/sys/pal/unix/stack_overflow.rs | |
| parent | 65d941d644b9865f1fccaa0fbfb11cf96c96e6bc (diff) | |
| download | rust-806a9dfdddeccbda4e6e052c0201c49cdfc8344d.tar.gz rust-806a9dfdddeccbda4e6e052c0201c49cdfc8344d.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 'library/std/src/sys/pal/unix/stack_overflow.rs')
0 files changed, 0 insertions, 0 deletions
