From 2c88c99cb605d312e2d76d620f502c7e7cd8866e Mon Sep 17 00:00:00 2001 From: Jake Stanger Date: Sat, 22 Apr 2023 16:29:54 +0100 Subject: [PATCH] fix(dynamic string): crash when last segment is static and a single char Resolves #117. --- src/dynamic_string.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/dynamic_string.rs b/src/dynamic_string.rs index 077e234..edfacc7 100644 --- a/src/dynamic_string.rs +++ b/src/dynamic_string.rs @@ -88,9 +88,13 @@ impl DynamicString { let mut chars = input.chars().collect::>(); while !chars.is_empty() { - let char_pair = &chars[..=1]; + let char_pair = if chars.len() > 1 { + Some(&chars[..=1]) + } else { + None + }; - let (token, skip) = if let ['{', '{'] = char_pair { + let (token, skip) = if let Some(['{', '{']) = char_pair { const SKIP_BRACKETS: usize = 4; // two braces either side let str = chars