Skip to content

Commit 677e6f3

Browse files
committed
fix: use unescape_byte function for Byte literals
1 parent f58a825 commit 677e6f3

File tree

3 files changed

+12
-21
lines changed

3 files changed

+12
-21
lines changed

crates/parser/src/lexed_str.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -274,7 +274,7 @@ impl<'a> Converter<'a> {
274274
let text = &self.res.text[self.offset + 2..][..len - 2];
275275
let i = text.rfind('\'').unwrap();
276276
let text = &text[..i];
277-
if let Err(e) = rustc_lexer::unescape::unescape_char(text) {
277+
if let Err(e) = rustc_lexer::unescape::unescape_byte(text) {
278278
err = error_to_diagnostic_message(e, Mode::Byte);
279279
}
280280
}

crates/parser/test_data/lexer/err/byte_char_literals.rast

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ BYTE "b'\\'a'" error: character literal may only contain one codepoint
2222
WHITESPACE "\n"
2323
BYTE "b'\\0a'" error: character literal may only contain one codepoint
2424
WHITESPACE "\n"
25-
BYTE "b'\\u{0}x'" error: character literal may only contain one codepoint
25+
BYTE "b'\\u{0}x'" error: unicode escape in byte string
2626
WHITESPACE "\n"
27-
BYTE "b'\\u{1F63b}}'" error: character literal may only contain one codepoint
27+
BYTE "b'\\u{1F63b}}'" error: unicode escape in byte string
2828
WHITESPACE "\n"
2929
BYTE "b'\\v'" error: unknown byte escape
3030
WHITESPACE "\n"
@@ -50,12 +50,6 @@ BYTE "b'\\x🦀'" error: invalid character in numeric character escape
5050
WHITESPACE "\n"
5151
BYTE "b'\\xtt'" error: invalid character in numeric character escape
5252
WHITESPACE "\n"
53-
BYTE "b'\\xff'" error: out of range hex escape
54-
WHITESPACE "\n"
55-
BYTE "b'\\xFF'" error: out of range hex escape
56-
WHITESPACE "\n"
57-
BYTE "b'\\x80'" error: out of range hex escape
58-
WHITESPACE "\n"
5953
BYTE "b'\\u'" error: incorrect unicode escape sequence
6054
WHITESPACE "\n"
6155
BYTE "b'\\u[0123]'" error: incorrect unicode escape sequence
@@ -72,21 +66,21 @@ BYTE "b'\\u{_0000}'" error: invalid start of unicode escape
7266
WHITESPACE "\n"
7367
BYTE "b'\\u{0000000}'" error: overlong unicode escape
7468
WHITESPACE "\n"
75-
BYTE "b'\\u{FFFFFF}'" error: invalid unicode character escape
69+
BYTE "b'\\u{FFFFFF}'" error: unicode escape in byte string
7670
WHITESPACE "\n"
77-
BYTE "b'\\u{ffffff}'" error: invalid unicode character escape
71+
BYTE "b'\\u{ffffff}'" error: unicode escape in byte string
7872
WHITESPACE "\n"
79-
BYTE "b'\\u{ffffff}'" error: invalid unicode character escape
73+
BYTE "b'\\u{ffffff}'" error: unicode escape in byte string
8074
WHITESPACE "\n"
81-
BYTE "b'\\u{DC00}'" error: invalid unicode character escape
75+
BYTE "b'\\u{DC00}'" error: unicode escape in byte string
8276
WHITESPACE "\n"
83-
BYTE "b'\\u{DDDD}'" error: invalid unicode character escape
77+
BYTE "b'\\u{DDDD}'" error: unicode escape in byte string
8478
WHITESPACE "\n"
85-
BYTE "b'\\u{DFFF}'" error: invalid unicode character escape
79+
BYTE "b'\\u{DFFF}'" error: unicode escape in byte string
8680
WHITESPACE "\n"
87-
BYTE "b'\\u{D800}'" error: invalid unicode character escape
81+
BYTE "b'\\u{D800}'" error: unicode escape in byte string
8882
WHITESPACE "\n"
89-
BYTE "b'\\u{DAAA}'" error: invalid unicode character escape
83+
BYTE "b'\\u{DAAA}'" error: unicode escape in byte string
9084
WHITESPACE "\n"
91-
BYTE "b'\\u{DBFF}'" error: invalid unicode character escape
85+
BYTE "b'\\u{DBFF}'" error: unicode escape in byte string
9286
WHITESPACE "\n"

crates/parser/test_data/lexer/err/byte_char_literals.rs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,6 @@ b'\xx'
2525
b'\xы'
2626
b'\x🦀'
2727
b'\xtt'
28-
b'\xff'
29-
b'\xFF'
30-
b'\x80'
3128
b'\u'
3229
b'\u[0123]'
3330
b'\u{0x}'

0 commit comments

Comments
 (0)