From bff9884df185fb0e3c03a981d37efad177dab5f3 Mon Sep 17 00:00:00 2001 From: Dimitris Fasarakis Hilliard Date: Wed, 1 Feb 2023 12:17:33 +0200 Subject: [PATCH] Hint that the unwrap should always succeed. --- parser/src/lexer.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/parser/src/lexer.rs b/parser/src/lexer.rs index 61bff37..5eeaf88 100644 --- a/parser/src/lexer.rs +++ b/parser/src/lexer.rs @@ -1125,7 +1125,11 @@ where fn eat_single_char(&mut self, ty: Tok) { let tok_start = self.get_pos(); - self.next_char(); + self.next_char().unwrap_or_else(|| unsafe { + // SAFETY: eat_single_char has been called only after a character has been read + // from the window, so the window is guaranteed to be non-empty. + std::hint::unreachable_unchecked() + }); let tok_end = self.get_pos(); self.emit((tok_start, ty, tok_end)); }