Enum haybale::config::Concretize [−][src]
pub enum Concretize {
Symbolic,
Arbitrary,
Prefer(u64, Box<Concretize>),
Maximum,
Minimum,
}
Expand description
Enum used for the concretize_memcpy_lengths
option in Config
.
Variants
Handle everything fully symbolically - that is, have the solver fully consider all possible values. This may lead to poor solver performance for some workloads.
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(u64, Box<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.
Tuple Fields of Prefer
0: u64
1: Box<Concretize>
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.
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
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
Auto Trait Implementations
impl RefUnwindSafe for Concretize
impl Send for Concretize
impl Sync for Concretize
impl Unpin for Concretize
impl UnwindSafe for Concretize
Blanket Implementations
Mutably borrows from an owned value. Read more