Skip to content

Commit 8c55d08

Browse files
Fix incorrect error span for out-of-range Unicode escapes
1 parent 8fe8552 commit 8c55d08

File tree

3 files changed

+3
-3
lines changed

3 files changed

+3
-3
lines changed

src/char/tests.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ fn invalid_unicode_escapes() {
199199
assert_err!(CharLit, r"'\u{1_23_4_56_7}'", TooManyDigitInUnicodeEscape, 14);
200200
assert_err!(CharLit, r"'\u{abcdef123}'", TooManyDigitInUnicodeEscape, 10);
201201

202-
assert_err!(CharLit, r"'\u{110000}'", InvalidUnicodeEscapeChar, 1..10);
202+
assert_err!(CharLit, r"'\u{110000}'", InvalidUnicodeEscapeChar, 1..11);
203203
}
204204

205205
#[test]

src/escape.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ pub(crate) fn unescape<E: Escapee>(
8686
}
8787

8888
let c = std::char::from_u32(v)
89-
.ok_or(perr(offset..closing_pos + 1, InvalidUnicodeEscapeChar))?;
89+
.ok_or(perr(offset..offset + closing_pos + 1, InvalidUnicodeEscapeChar))?;
9090

9191
(E::from_char(c), closing_pos + 1)
9292
}

src/string/tests.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -253,5 +253,5 @@ fn invalid_unicode_escapes() {
253253
assert_err!(StringLit, r#""నక్క\u{1_23_4_56_7}""#, TooManyDigitInUnicodeEscape, 26);
254254
assert_err!(StringLit, r#""\u{abcdef123}лиса""#, TooManyDigitInUnicodeEscape, 10);
255255

256-
assert_err!(StringLit, r#""\u{110000}fox""#, InvalidUnicodeEscapeChar, 1..10);
256+
assert_err!(StringLit, r#""\u{110000}fox""#, InvalidUnicodeEscapeChar, 1..11);
257257
}

0 commit comments

Comments
 (0)