From e04924f35c159d41a9f5bd78950d89a726c32bdb Mon Sep 17 00:00:00 2001 From: Simon Gardling Date: Wed, 4 May 2022 11:40:18 -0400 Subject: [PATCH] further improvements --- parsing/src/suggestions.rs | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/parsing/src/suggestions.rs b/parsing/src/suggestions.rs index 1b99ae9..dde029f 100644 --- a/parsing/src/suggestions.rs +++ b/parsing/src/suggestions.rs @@ -1,4 +1,4 @@ -use std::intrinsics::assume; +use std::mem; use crate::parsing::is_variable; @@ -158,8 +158,10 @@ pub fn split_function_chars(chars: &[char]) -> Vec { // Append split if do_split { - data.push(buffer.clone()); - buffer.clear(); + data.push(Vec::new()); + unsafe { + mem::swap(data.last_mut().unwrap_unchecked(), &mut buffer); + } } // Add character to buffer @@ -174,13 +176,9 @@ pub fn split_function_chars(chars: &[char]) -> Vec { data.push(buffer); } - unsafe { - assume(!data.is_empty()); - } - data.iter() .map(|e| e.iter().cloned().collect::()) - .collect() + .collect::>() } /// Generate a hint based on the input `input`, returns an `Option`