From f2f4b0537e7eec95fb5ae2cb8f44c1a6ebf8151a Mon Sep 17 00:00:00 2001 From: Jesse Brault Date: Mon, 2 Mar 2026 11:46:40 -0600 Subject: [PATCH] Fix lexer whitespace bug. --- dmc-lib/src/lexer.rs | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/dmc-lib/src/lexer.rs b/dmc-lib/src/lexer.rs index ea51ec7..28df445 100644 --- a/dmc-lib/src/lexer.rs +++ b/dmc-lib/src/lexer.rs @@ -27,8 +27,10 @@ impl<'a> Lexer<'a> { let maybe_chunk = self.input.get(self.position..); if maybe_chunk.is_none() { return None; - } else { - chunk = maybe_chunk.unwrap(); + } + chunk = maybe_chunk.unwrap(); + if chunk.is_empty() { + return None; } } @@ -154,4 +156,11 @@ mod tests { assert_next(&mut lexer, TokenKind::End, 3); assert_eq!(lexer.next(), None); } + + #[test] + fn blank_after_last_token_returns_none() { + let mut lexer = Lexer::new("fn "); + assert_next(&mut lexer, TokenKind::Fn, 2); + assert_eq!(lexer.next(), None); + } }