split_vec refactor

This commit is contained in:
Dmitry Belyaev 2019-07-26 23:19:13 +03:00
parent 0240bf2fdf
commit d878182c56
Signed by: b4tman
GPG Key ID: 41A00BF15EA7E5F3

View File

@ -196,16 +196,15 @@ fn parse_file(file: impl io::Read) -> Result<json::JsonValue, Box<std::error::Er
Ok(ctx.data.clone())
}
// split vector to a vector of slices
#[allow(clippy::ptr_arg)]
fn split_vec<'a, T>(src: &'a Vec<T>, num: usize) -> Vec<&'a [T]> {
// split slice to a vector of slices
fn split_vec<'a, T>(src: &'a [T], num: usize) -> Vec<&'a [T]> {
let all_len = src.len();
let part_len = all_len / num;
let add_len = all_len % num;
let mut result = Vec::<&'a [T]>::new();
if 1 > part_len {
result.push(src.as_slice());
if 0 == part_len {
result.push(src);
return result;
}
for i in 0..num {