aboutsummaryrefslogtreecommitdiff
path: root/lib/src/lib.rs
diff options
context:
space:
mode:
authorLizzy Fleckenstein <eliasfleckenstein@web.de>2023-02-05 19:31:36 +0100
committerLizzy Fleckenstein <eliasfleckenstein@web.de>2023-02-06 16:50:23 +0100
commit7c9e6049e5ee5ded700517db770735569fc0fc4e (patch)
treeec57ddd6eaddaae43af0847e3c8bc663ef0dfdff /lib/src/lib.rs
parent51d7842fe16ba070f63bbab925161ea352970759 (diff)
downloadgenerate-random-7c9e6049e5ee5ded700517db770735569fc0fc4e.tar.xz
Support String
Diffstat (limited to 'lib/src/lib.rs')
-rw-r--r--lib/src/lib.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/src/lib.rs b/lib/src/lib.rs
index ed76cba..67432e3 100644
--- a/lib/src/lib.rs
+++ b/lib/src/lib.rs
@@ -99,6 +99,15 @@ impl<T: GenerateRandom, const N: usize> GenerateRandom for [T; N] {
}
}
+impl GenerateRandom for String {
+ fn generate_random<R: rand::Rng + ?Sized>(rng: &mut R) -> Self {
+ use rand::distributions::{Alphanumeric, DistString};
+
+ let len = rng.gen_range(0..32);
+ Alphanumeric.sample_string(rng, len)
+ }
+}
+
macro_rules! impl_generate_random_tuple {
( $t0:ident $( $t:ident )* ) => {
impl< $t0, $( $t, )* > GenerateRandom for ( $t0, $( $t, )* )