From 75899b8b625db2f048dbaa75a0cb45a67a1bfd75 Mon Sep 17 00:00:00 2001 From: Lizzy Fleckenstein Date: Tue, 14 Feb 2023 23:27:35 +0100 Subject: Add support for Ranges --- lib/src/lib.rs | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'lib/src/lib.rs') diff --git a/lib/src/lib.rs b/lib/src/lib.rs index b25f91e..d8ec04f 100644 --- a/lib/src/lib.rs +++ b/lib/src/lib.rs @@ -149,6 +149,41 @@ impl GenerateRandom for Box { } } +impl GenerateRandom for std::ops::Range { + fn generate_random(rng: &mut R) -> Self { + T::generate_random(rng)..T::generate_random(rng) + } +} + +impl GenerateRandom for std::ops::RangeFrom { + fn generate_random(rng: &mut R) -> Self { + T::generate_random(rng).. + } +} + +impl GenerateRandom for std::ops::RangeFull { + fn generate_random(_rng: &mut R) -> Self { + .. + } +} + +impl GenerateRandom for std::ops::RangeInclusive { + fn generate_random(rng: &mut R) -> Self { + T::generate_random(rng)..=T::generate_random(rng) + } +} + +impl GenerateRandom for std::ops::RangeTo { + fn generate_random(rng: &mut R) -> Self { + ..T::generate_random(rng) + } +} +impl GenerateRandom for std::ops::RangeToInclusive { + fn generate_random(rng: &mut R) -> Self { + ..=T::generate_random(rng) + } +} + #[cfg(feature = "enumset")] impl GenerateRandom for enumset::EnumSet { fn generate_random(rng: &mut R) -> Self { -- cgit v1.2.3