further improvements
This commit is contained in:
parent
05614782d1
commit
e04924f35c
@ -1,4 +1,4 @@
|
|||||||
use std::intrinsics::assume;
|
use std::mem;
|
||||||
|
|
||||||
use crate::parsing::is_variable;
|
use crate::parsing::is_variable;
|
||||||
|
|
||||||
@ -158,8 +158,10 @@ pub fn split_function_chars(chars: &[char]) -> Vec<String> {
|
|||||||
|
|
||||||
// Append split
|
// Append split
|
||||||
if do_split {
|
if do_split {
|
||||||
data.push(buffer.clone());
|
data.push(Vec::new());
|
||||||
buffer.clear();
|
unsafe {
|
||||||
|
mem::swap(data.last_mut().unwrap_unchecked(), &mut buffer);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add character to buffer
|
// Add character to buffer
|
||||||
@ -174,13 +176,9 @@ pub fn split_function_chars(chars: &[char]) -> Vec<String> {
|
|||||||
data.push(buffer);
|
data.push(buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
unsafe {
|
|
||||||
assume(!data.is_empty());
|
|
||||||
}
|
|
||||||
|
|
||||||
data.iter()
|
data.iter()
|
||||||
.map(|e| e.iter().cloned().collect::<String>())
|
.map(|e| e.iter().cloned().collect::<String>())
|
||||||
.collect()
|
.collect::<Vec<String>>()
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Generate a hint based on the input `input`, returns an `Option<String>`
|
/// Generate a hint based on the input `input`, returns an `Option<String>`
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user