Struct contrafact::LensFact
source · pub struct LensFact<'a, O, T, F>where
T: Bounds<'a>,
O: Bounds<'a>,
F: Fact<'a, T>,{ /* private fields */ }
Expand description
A fact which uses a lens to apply another fact. Use lens()
to construct.
Implementations§
Trait Implementations§
source§impl<'a, O, T, F> Clone for LensFact<'a, O, T, F>where
T: Bounds<'a> + Clone,
O: Bounds<'a> + Clone,
F: Fact<'a, T> + Clone,
impl<'a, O, T, F> Clone for LensFact<'a, O, T, F>where T: Bounds<'a> + Clone, O: Bounds<'a> + Clone, F: Fact<'a, T> + Clone,
source§impl<'a, O, T, F> Fact<'a, O> for LensFact<'a, O, T, F>where
T: Bounds<'a>,
O: Bounds<'a> + Clone,
F: Fact<'a, T>,
impl<'a, O, T, F> Fact<'a, O> for LensFact<'a, O, T, F>where T: Bounds<'a>, O: Bounds<'a> + Clone, F: Fact<'a, T>,
source§fn mutate(&self, obj: O, g: &mut Generator<'a>) -> Mutation<O>
fn mutate(&self, obj: O, g: &mut Generator<'a>) -> Mutation<O>
Apply a mutation which moves the obj closer to satisfying the overall
constraint.
source§fn advance(&mut self, obj: &O)
fn advance(&mut self, obj: &O)
When checking or mutating a sequence of items, this gets called after
each item to modify the state to get ready for the next item.
source§fn satisfy(&mut self, obj: T, g: &mut Generator<'a>) -> ContrafactResult<T>
fn satisfy(&mut self, obj: T, g: &mut Generator<'a>) -> ContrafactResult<T>
Mutate a value such that it satisfies the constraint.
If the constraint cannot be satisfied, panic.
source§fn build_fallible(&mut self, g: &mut Generator<'a>) -> ContrafactResult<T>
fn build_fallible(&mut self, g: &mut Generator<'a>) -> ContrafactResult<T>
Build a new value such that it satisfies the constraint
Auto Trait Implementations§
impl<'a, O, T, F> !RefUnwindSafe for LensFact<'a, O, T, F>
impl<'a, O, T, F> !Send for LensFact<'a, O, T, F>
impl<'a, O, T, F> !Sync for LensFact<'a, O, T, F>
impl<'a, O, T, F> Unpin for LensFact<'a, O, T, F>where F: Unpin,
impl<'a, O, T, F> !UnwindSafe for LensFact<'a, O, T, F>
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