diff options
| author | 许杰友 Jieyou Xu (Joe) <jieyouxu@outlook.com> | 2024-08-09 05:48:52 +0000 |
|---|---|---|
| committer | 许杰友 Jieyou Xu (Joe) <jieyouxu@outlook.com> | 2024-08-09 05:56:50 +0000 |
| commit | d65f1316bba2b3cdccce3f0d7d3e2eb27b5fbe49 (patch) | |
| tree | 6b1ff88a73561197fb5fe5ecbb05dbf063ae6c16 /compiler/rustc_const_eval/src | |
| parent | 92520a9d4d74d23b29bd65f3372f1d0e5a0ec9cb (diff) | |
| download | rust-d65f1316bba2b3cdccce3f0d7d3e2eb27b5fbe49.tar.gz rust-d65f1316bba2b3cdccce3f0d7d3e2eb27b5fbe49.zip | |
parser: ensure let stmt compound assignment removal suggestion respect codepoint boundaries
Previously we would try to issue a suggestion for `let x <op>= 1`, i.e. a compound assignment within a `let` binding, to remove the `<op>`. The suggestion code unfortunately incorrectly assumed that the `<op>` is an exactly-1-byte ASCII character, but this assumption is incorrect because we also recover Unicode-confusables like `➖=` as `-=`. In this example, the suggestion code used a `+ BytePos(1)` to calculate the span of the `<op>` codepoint that looks like `-` but the mult-byte Unicode look-alike would cause the suggested removal span to be inside a multi-byte codepoint boundary, triggering a codepoint boundary assertion. Issue: <https://github.com/rust-lang/rust/issues/128845>
Diffstat (limited to 'compiler/rustc_const_eval/src')
0 files changed, 0 insertions, 0 deletions
