]> git.lizzy.rs Git - generate-random.git/commitdiff
Support String
authorLizzy Fleckenstein <eliasfleckenstein@web.de>
Sun, 5 Feb 2023 18:31:36 +0000 (19:31 +0100)
committerLizzy Fleckenstein <eliasfleckenstein@web.de>
Mon, 6 Feb 2023 15:50:23 +0000 (16:50 +0100)
lib/src/lib.rs

index ed76cba9c2fccd96b5336ccefd9c5919bf122672..67432e306d6bd02bda0394214e276fc87299a527 100644 (file)
@@ -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, )* )