Struct LazyValueTree

pub struct LazyValueTree<S: Strategy> { /* private fields */ }

Represents a value tree that is initialized on the first call to any methods.

This is used to defer potentially expensive generation to shrinking time. It is public only to allow APIs to expose it as an intermediate value.

Trait Implementations

impl<S: Strategy> Clone for LazyValueTree<S> where S::Tree: Clone,

fn clone(&self) -> Self

impl<S: Strategy> Debug for LazyValueTree<S> where S::Tree: Debug,

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Auto Trait Implementations

impl<S> !RefUnwindSafe for LazyValueTree<S>

impl<S> !UnwindSafe for LazyValueTree<S>

impl<S> Freeze for LazyValueTree<S> where LazyValueTreeState<S>: Freeze,

impl<S> Send for LazyValueTree<S> where LazyValueTreeState<S>: Send,

impl<S> Sync for LazyValueTree<S> where LazyValueTreeState<S>: Sync,

impl<S> Unpin for LazyValueTree<S> where LazyValueTreeState<S>: Unpin,

impl<S> UnsafeUnpin for LazyValueTree<S> where LazyValueTreeState<S>: UnsafeUnpin,

Blanket Implementations

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for LazyValueTree<S> where ST: ?Sized, DT: ?Sized,

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for LazyValueTree<S> where ST: ?Sized, DT: ?Sized,

impl<T> Any for LazyValueTree<S> where T: 'static + ?Sized,

fn type_id(&self) -> TypeId

impl<T> Borrow<T> for LazyValueTree<S> where T: ?Sized,

fn borrow(&self) -> &T

impl<T> BorrowMut<T> for LazyValueTree<S> where T: ?Sized,

fn borrow_mut(&mut self) -> &mut T

impl<T> CloneToUninit for LazyValueTree<S> where T: Clone,

unsafe fn clone_to_uninit(&self, dest: *mut u8)

impl<T> From<T> for LazyValueTree<S>

fn from(t: T) -> T

Returns the argument unchanged.

impl<T> Read<Exclusive, BecauseExclusive> for LazyValueTree<S> where T: ?Sized,

impl<T> ToOwned for LazyValueTree<S> where T: Clone,

type Owned = T;
fn to_owned(&self) -> T
fn clone_into(&self, target: &mut T)

impl<T, U> Into<U> for LazyValueTree<S> where U: From<T>,

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses to do.

impl<T, U> TryFrom<U> for LazyValueTree<S> where U: Into<T>,

type Error = never;
fn try_from(value: U) -> Result<T, never>

impl<T, U> TryInto<U> for LazyValueTree<S> where U: TryFrom<T>,

type Error = <U as TryFrom<T>>::Error;
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

impl<V, T> VZip<V> for LazyValueTree<S> where V: MultiLane<T>,

fn vzip(self) -> V