rust/tests
bors c9f24827b3 Auto merge of #12493 - y21:issue12491, r=Alexendoo
fix span calculation for non-ascii in `needless_return`

Fixes #12491

Probably fixes #12328 as well, but that one has no reproducer, so 🤷

The bug was that the lint used `rfind()` for finding the byte index of the start of the previous non-whitespace character:
```
// abc\n     return;
     ^
```
... then subtracting one to get the byte index of the actual whitespace (the `\n` here).
(Subtracting instead of adding because it treats this as the length from the `return` token to the `\n`)

That's correct for ascii, like here, and will get us to the `\n`, however for non ascii, the `c` could be multiple bytes wide, which would put us in the middle of a codepoint if we simply subtract 1 and is what caused the ICE.

There's probably a lot of ways we could fix this.
This PR changes it to iterate backwards using bytes instead of characters, so that when `rposition()` finally finds a non-whitespace byte, we *know* that we've skipped exactly 1 byte. This was *probably*(?) what the code was intending to do

changelog: Fix ICE in [`needless_return`] when previous line end in a non-ascii character
2024-03-15 17:30:23 +00:00
..
test_utils
ui Auto merge of #12493 - y21:issue12491, r=Alexendoo 2024-03-15 17:30:23 +00:00
ui-cargo Merge commit '10136170fe' into clippy-subtree-update 2024-02-27 15:50:17 +01:00
ui-internal mention span_lint_hir in span_lint and add a reason to disallowed_methods 2024-03-09 19:40:39 +01:00
ui-toml Merge remote-tracking branch 'upstream/master' into rustup 2024-03-07 17:14:36 +01:00
workspace_test Merge commit '37f4c1725d' into clippyup 2023-07-02 14:59:02 +02:00
check-fmt.rs
clippy.toml
compile-test.rs Show duplicate diagnostics in UI tests by default 2024-02-28 13:24:14 +00:00
dogfood.rs Merge commit '09ac14c901' into clippyup 2023-11-02 17:35:56 +01:00
headers.rs Merge commit 'a859e5cc1c' into clippyup 2023-12-16 14:12:50 +01:00
integration.rs Tweak delayed bug mentions. 2024-02-12 18:39:20 +11:00
lint_message_convention.rs Merge commit 'd9c24d1b1e' into clippyup 2023-07-17 10:22:32 +02:00
missing-test-files.rs Fix lint errors 2024-03-01 16:36:05 +01:00
versioncheck.rs Merge commit '09ac14c901' into clippyup 2023-11-02 17:35:56 +01:00
workspace.rs Merge commit '37f4c1725d' into clippyup 2023-07-02 14:59:02 +02:00