pub struct PathEnumerationDominanceConfig {
pub base: PathEnumerationConfig,
pub use_dominance_pruning: bool,
pub use_control_dependence_pruning: bool,
pub use_loop_constraint_pruning: bool,
}Expand description
Extended configuration for dominance-constrained enumeration.
Wraps the base PathEnumerationConfig with flags to enable/disable
specific constraint-based pruning strategies.
Fields§
§base: PathEnumerationConfigBase enumeration configuration (bounds, exit nodes, etc.).
use_dominance_pruning: boolEnable dominance-based pruning (prevents backward dominance traversal).
use_control_dependence_pruning: boolEnable control dependence pruning (enforces controller/controlled ordering).
use_loop_constraint_pruning: boolEnable loop constraint pruning (prevents invalid loop exits).
Trait Implementations§
Source§impl Clone for PathEnumerationDominanceConfig
impl Clone for PathEnumerationDominanceConfig
Source§fn clone(&self) -> PathEnumerationDominanceConfig
fn clone(&self) -> PathEnumerationDominanceConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for PathEnumerationDominanceConfig
impl RefUnwindSafe for PathEnumerationDominanceConfig
impl Send for PathEnumerationDominanceConfig
impl Sync for PathEnumerationDominanceConfig
impl Unpin for PathEnumerationDominanceConfig
impl UnsafeUnpin for PathEnumerationDominanceConfig
impl UnwindSafe for PathEnumerationDominanceConfig
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more