diff --git a/src/core/utils/mod.rs b/src/core/utils/mod.rs index 13221341..3adecc6c 100644 --- a/src/core/utils/mod.rs +++ b/src/core/utils/mod.rs @@ -30,7 +30,7 @@ pub use self::{ json::{deserialize_from_str, to_canonical_object}, math::clamp, mutex_map::{Guard as MutexMapGuard, MutexMap}, - rand::string as random_string, + rand::{shuffle, string as random_string}, stream::{IterStream, ReadyExt, Tools as StreamTools, TryReadyExt}, string::{str_from_bytes, string_from_bytes}, sys::available_parallelism, diff --git a/src/core/utils/rand.rs b/src/core/utils/rand.rs index d717c4bd..9e6fc7a8 100644 --- a/src/core/utils/rand.rs +++ b/src/core/utils/rand.rs @@ -4,7 +4,12 @@ use std::{ }; use arrayvec::ArrayString; -use rand::{thread_rng, Rng}; +use rand::{seq::SliceRandom, thread_rng, Rng}; + +pub fn shuffle(vec: &mut [T]) { + let mut rng = thread_rng(); + vec.shuffle(&mut rng); +} pub fn string(length: usize) -> String { thread_rng()