Struct proptest::strategy::LazyJust [] [src]

pub struct LazyJust<T, F: Fn() -> T> { /* fields omitted */ }

A Strategy which always produces a single value value and never simplifies. If T is Clone, you should use Just instead.

This is a generalization of Just and works by calling the provided Fn() -> T in .current() every time. This is not a very interesting strategy, but is required in cases where T is not Clone. It is also used in proptest_derive where we can't assume that your type is Clone.

It is important that the function used be pure.

Methods

impl<T, F: Fn() -> T> LazyJust<T, F>
[src]

[src]

Constructs a LazyJust strategy given the function/closure that produces the value.

It is important that the function used be pure.

Trait Implementations

impl<T: Debug, F: Clone + Fn() -> T> Strategy for LazyJust<T, F>
[src]

The value tree generated by this Strategy. Read more

[src]

Generate a new value tree from the given runner. Read more

[src]

Returns a strategy which produces values transformed by the function fun. Read more

[src]

Returns a strategy which produces values of type O by transforming Self with Into<O>. Read more

[src]

Returns a strategy which produces values transformed by the function fun, which is additionally given a random number generator. Read more

[src]

Maps values produced by this strategy into new strategies and picks values from those strategies. Read more

[src]

Maps values produced by this strategy into new strategies and picks values from those strategies while considering the new strategies to be independent. Read more

[src]

Similar to prop_ind_flat_map(), but produces 2-tuples with the input generated from self in slot 0 and the derived strategy in slot 1. Read more

[src]

Returns a strategy which only produces values accepted by fun. Read more

[src]

Returns a strategy which picks uniformly from self and other. Read more

[src]

Generate a recursive structure with self items as leaves. Read more

[src]

Shuffle the contents of the values produced by this strategy. Read more

[src]

Erases the type of this Strategy so it can be passed around as a simple trait object. Read more

[src]

Erases the type of this Strategy so it can be passed around as a simple trait object. Read more

[src]

Wraps this strategy to prevent values from being subject to shrinking. Read more

impl<T: Debug, F: Fn() -> T> ValueTree for LazyJust<T, F>
[src]

The type of the value produced by this ValueTree.

[src]

Attempts to simplify the current value. Notionally, this sets the "high" value to the current value, and the current value to a "halfway point" between high and low, rounding towards low. Read more

[src]

Attempts to partially undo the last simplification. Notionally, this sets the "low" value to one plus the current value, and the current value to a "halfway point" between high and the new low, rounding towards low. Read more

[src]

Returns the current value.

impl<T, F: Copy + Fn() -> T> Copy for LazyJust<T, F>
[src]

impl<T, F: Clone + Fn() -> T> Clone for LazyJust<T, F>
[src]

[src]

Returns a copy of the value. Read more

1.0.0
[src]

Performs copy-assignment from source. Read more

impl<T, F: Fn() -> T> Debug for LazyJust<T, F>
[src]

[src]

Formats the value using the given formatter. Read more

Auto Trait Implementations

impl<T, F> Send for LazyJust<T, F> where
    F: Send

impl<T, F> Sync for LazyJust<T, F> where
    F: Sync