about summary refs log tree commit diff
diff options
context:
space:
mode:
authorPol Valletbó <pol.valletbo@glovoapp.com>2023-10-11 13:09:12 +0200
committerPol Valletbó <pol.valletbo@glovoapp.com>2023-10-11 13:09:15 +0200
commit677e6f3439b91769a9b54c18afe5c136c14d9e8a (patch)
tree7d32c87dd163c59505d5aba876a717b9dd1c74a9
parentf58a8250dc3104e336ec8611702d015bd47f508a (diff)
downloadrust-677e6f3439b91769a9b54c18afe5c136c14d9e8a.tar.gz
rust-677e6f3439b91769a9b54c18afe5c136c14d9e8a.zip
fix: use unescape_byte function for Byte literals
-rw-r--r--crates/parser/src/lexed_str.rs2
-rw-r--r--crates/parser/test_data/lexer/err/byte_char_literals.rast28
-rw-r--r--crates/parser/test_data/lexer/err/byte_char_literals.rs3
3 files changed, 12 insertions, 21 deletions
diff --git a/crates/parser/src/lexed_str.rs b/crates/parser/src/lexed_str.rs
index 8e8bdce1eef..84cedc1fa3f 100644
--- a/crates/parser/src/lexed_str.rs
+++ b/crates/parser/src/lexed_str.rs
@@ -274,7 +274,7 @@ impl<'a> Converter<'a> {
                     let text = &self.res.text[self.offset + 2..][..len - 2];
                     let i = text.rfind('\'').unwrap();
                     let text = &text[..i];
-                    if let Err(e) = rustc_lexer::unescape::unescape_char(text) {
+                    if let Err(e) = rustc_lexer::unescape::unescape_byte(text) {
                         err = error_to_diagnostic_message(e, Mode::Byte);
                     }
                 }
diff --git a/crates/parser/test_data/lexer/err/byte_char_literals.rast b/crates/parser/test_data/lexer/err/byte_char_literals.rast
index 24892bc2394..7603c9099da 100644
--- a/crates/parser/test_data/lexer/err/byte_char_literals.rast
+++ b/crates/parser/test_data/lexer/err/byte_char_literals.rast
@@ -22,9 +22,9 @@ BYTE "b'\\'a'" error: character literal may only contain one codepoint
 WHITESPACE "\n"
 BYTE "b'\\0a'" error: character literal may only contain one codepoint
 WHITESPACE "\n"
-BYTE "b'\\u{0}x'" error: character literal may only contain one codepoint
+BYTE "b'\\u{0}x'" error: unicode escape in byte string
 WHITESPACE "\n"
-BYTE "b'\\u{1F63b}}'" error: character literal may only contain one codepoint
+BYTE "b'\\u{1F63b}}'" error: unicode escape in byte string
 WHITESPACE "\n"
 BYTE "b'\\v'" error: unknown byte escape
 WHITESPACE "\n"
@@ -50,12 +50,6 @@ BYTE "b'\\x🦀'" error: invalid character in numeric character escape
 WHITESPACE "\n"
 BYTE "b'\\xtt'" error: invalid character in numeric character escape
 WHITESPACE "\n"
-BYTE "b'\\xff'" error: out of range hex escape
-WHITESPACE "\n"
-BYTE "b'\\xFF'" error: out of range hex escape
-WHITESPACE "\n"
-BYTE "b'\\x80'" error: out of range hex escape
-WHITESPACE "\n"
 BYTE "b'\\u'" error: incorrect unicode escape sequence
 WHITESPACE "\n"
 BYTE "b'\\u[0123]'" error: incorrect unicode escape sequence
@@ -72,21 +66,21 @@ BYTE "b'\\u{_0000}'" error: invalid start of unicode escape
 WHITESPACE "\n"
 BYTE "b'\\u{0000000}'" error: overlong unicode escape
 WHITESPACE "\n"
-BYTE "b'\\u{FFFFFF}'" error: invalid unicode character escape
+BYTE "b'\\u{FFFFFF}'" error: unicode escape in byte string
 WHITESPACE "\n"
-BYTE "b'\\u{ffffff}'" error: invalid unicode character escape
+BYTE "b'\\u{ffffff}'" error: unicode escape in byte string
 WHITESPACE "\n"
-BYTE "b'\\u{ffffff}'" error: invalid unicode character escape
+BYTE "b'\\u{ffffff}'" error: unicode escape in byte string
 WHITESPACE "\n"
-BYTE "b'\\u{DC00}'" error: invalid unicode character escape
+BYTE "b'\\u{DC00}'" error: unicode escape in byte string
 WHITESPACE "\n"
-BYTE "b'\\u{DDDD}'" error: invalid unicode character escape
+BYTE "b'\\u{DDDD}'" error: unicode escape in byte string
 WHITESPACE "\n"
-BYTE "b'\\u{DFFF}'" error: invalid unicode character escape
+BYTE "b'\\u{DFFF}'" error: unicode escape in byte string
 WHITESPACE "\n"
-BYTE "b'\\u{D800}'" error: invalid unicode character escape
+BYTE "b'\\u{D800}'" error: unicode escape in byte string
 WHITESPACE "\n"
-BYTE "b'\\u{DAAA}'" error: invalid unicode character escape
+BYTE "b'\\u{DAAA}'" error: unicode escape in byte string
 WHITESPACE "\n"
-BYTE "b'\\u{DBFF}'" error: invalid unicode character escape
+BYTE "b'\\u{DBFF}'" error: unicode escape in byte string
 WHITESPACE "\n"
diff --git a/crates/parser/test_data/lexer/err/byte_char_literals.rs b/crates/parser/test_data/lexer/err/byte_char_literals.rs
index 9f2f4309e76..b2d06e490bd 100644
--- a/crates/parser/test_data/lexer/err/byte_char_literals.rs
+++ b/crates/parser/test_data/lexer/err/byte_char_literals.rs
@@ -25,9 +25,6 @@ b'\xx'
 b'\xы'
 b'\x🦀'
 b'\xtt'
-b'\xff'
-b'\xFF'
-b'\x80'
 b'\u'
 b'\u[0123]'
 b'\u{0x}'