From 2705d79d1ad49409cec6075c06b950766da42051 Mon Sep 17 00:00:00 2001 From: ConnorSkees <39542938+ConnorSkees@users.noreply.github.com> Date: Mon, 23 Mar 2020 22:47:59 -0400 Subject: [PATCH] str-slice by chars rather than bytes --- src/builtin/string.rs | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/builtin/string.rs b/src/builtin/string.rs index 7cc21bd..fb2b50c 100644 --- a/src/builtin/string.rs +++ b/src/builtin/string.rs @@ -114,11 +114,7 @@ pub(crate) fn register(f: &mut HashMap) { if start > end || start > str_len { Ok(Value::Ident(String::new(), quotes.normalize())) } else { - let s = string[start - 1..end].to_string(); - match quotes { - QuoteKind::Double | QuoteKind::Single => Ok(Value::Ident(s, QuoteKind::Double)), - QuoteKind::None => Ok(Value::Ident(s, QuoteKind::None)), - } + Ok(Value::Ident(string.chars().skip(start - 1).take(end - start + 1).collect(), quotes.normalize())) } }), );