pub struct TargetedShrinker<T> { /* private fields */ }Expand description
Shrinker that shrinks toward a specific target value
Instead of shrinking toward a “simple” value (like 0 or empty), this shrinker tries to shrink toward a specific target value.
§Examples
use protest_extras::shrinking::TargetedShrinker;
// Shrink toward 42
let shrinker = TargetedShrinker::new_int(100, 42);
let shrunk: Vec<_> = shrinker.shrink().take(5).collect();
// Yields values getting closer to 42
assert!(shrunk.iter().all(|&x| x >= 42 && x <= 100));Implementations§
Source§impl TargetedShrinker<i32>
impl TargetedShrinker<i32>
Trait Implementations§
Source§impl<T: Clone> Clone for TargetedShrinker<T>
impl<T: Clone> Clone for TargetedShrinker<T>
Auto Trait Implementations§
impl<T> Freeze for TargetedShrinker<T>where
T: Freeze,
impl<T> RefUnwindSafe for TargetedShrinker<T>where
T: RefUnwindSafe,
impl<T> Send for TargetedShrinker<T>where
T: Send,
impl<T> Sync for TargetedShrinker<T>where
T: Sync,
impl<T> Unpin for TargetedShrinker<T>where
T: Unpin,
impl<T> UnsafeUnpin for TargetedShrinker<T>where
T: UnsafeUnpin,
impl<T> UnwindSafe for TargetedShrinker<T>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more