Enum haybale::config::Concretize[][src]

pub enum Concretize {
    Symbolic,
    Arbitrary,
    Prefer(u64Box<Concretize>),
    Maximum,
    Minimum,
}

Enum used for the concretize_memcpy_lengths option in Config.

Variants

Symbolic

Handle everything fully symbolically - that is, have the solver fully consider all possible values. This may lead to poor solver performance for some workloads.

Arbitrary

Pick one possible value arbitrarily. Often this may choose 0 if 0 is a possible solution, but this behavior is not guaranteed. (To guarantee this behavior, use Prefer(0).)

The value will be permanently constrained to be the chosen value (on this path), and other possibilities will not be considered.

Prefer(u64Box<Concretize>)

Prefer the given u64 value if it is a possible value. Otherwise, fall back on the given Concretize strategy.

If the given u64 value is a possible value, then the value will be permanently constrained to be that value (on this path), and other possibilities will not be considered.

Maximum

Choose the maximum possible value. Maximum will be interpreted in an unsigned fashion.

The value will be permanently constrained to be this value (on this path), and other possibilities will not be considered.

Minimum

Choose the minimum possible value. Minimum will be interpreted in an unsigned fashion.

The value will be permanently constrained to be this value (on this path), and other possibilities will not be considered.

Trait Implementations

impl Clone for Concretize[src]

impl Debug for Concretize[src]

impl Eq for Concretize[src]

impl PartialEq<Concretize> for Concretize[src]

impl StructuralEq for Concretize[src]

impl StructuralPartialEq for Concretize[src]

Auto Trait Implementations

impl RefUnwindSafe for Concretize[src]

impl Send for Concretize[src]

impl Sync for Concretize[src]

impl Unpin for Concretize[src]

impl UnwindSafe for Concretize[src]

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.