about summary refs log tree commit diff
path: root/compiler/rustc_parse/src/lexer
diff options
context:
space:
mode:
authorHans Kratz <hans@appfour.com>2021-11-04 17:03:13 +0100
committerHans Kratz <hans@appfour.com>2021-11-04 17:03:13 +0100
commita5b25a2cfa1adb52723fa4a5b458dd9d6272117a (patch)
tree855dcc351384a88bf226826e936adb2a6b85d175 /compiler/rustc_parse/src/lexer
parent2d9f0e2c50ff6131643fd0b2d5a9f65a7006f50c (diff)
downloadrust-a5b25a2cfa1adb52723fa4a5b458dd9d6272117a.tar.gz
rust-a5b25a2cfa1adb52723fa4a5b458dd9d6272117a.zip
Create subslice as that leads to a smaller code size.
Diffstat (limited to 'compiler/rustc_parse/src/lexer')
-rw-r--r--compiler/rustc_parse/src/lexer/mod.rs7
1 files changed, 4 insertions, 3 deletions
diff --git a/compiler/rustc_parse/src/lexer/mod.rs b/compiler/rustc_parse/src/lexer/mod.rs
index 21d0ee60cda..c0f2863d01c 100644
--- a/compiler/rustc_parse/src/lexer/mod.rs
+++ b/compiler/rustc_parse/src/lexer/mod.rs
@@ -153,14 +153,15 @@ impl<'a> StringReader<'a> {
             match core::slice::memchr::memchr(0xE2, &bytes) {
                 Some(idx) => {
                     // bytes are valid UTF-8 -> E2 must be followed by two bytes
-                    match bytes[idx + 1] {
+                    let ch = &bytes[idx..idx + 3];
+                    match ch[1] {
                         0x80 => {
-                            if (0xAA..=0xAE).contains(&bytes[idx + 2]) {
+                            if (0xAA..=0xAE).contains(&ch[2]) {
                                 break true;
                             }
                         }
                         0x81 => {
-                            if (0xA6..=0xA9).contains(&bytes[idx + 2]) {
+                            if (0xA6..=0xA9).contains(&ch[2]) {
                                 break true;
                             }
                         }