pub struct StrategyContext { /* private fields */ }Expand description
Strategy execution context
Tracks which integration strategies are currently active to prevent infinite recursion and improve strategy selection.
Implementations§
Source§impl StrategyContext
impl StrategyContext
Sourcepub fn is_active(&self, strategy: IntegrationStrategy) -> bool
pub fn is_active(&self, strategy: IntegrationStrategy) -> bool
Check if a strategy is currently active (would cause recursion)
Sourcepub fn with_strategy<F>(
&self,
strategy: IntegrationStrategy,
f: F,
) -> Option<Expression>
pub fn with_strategy<F>( &self, strategy: IntegrationStrategy, f: F, ) -> Option<Expression>
Execute a strategy, marking it as active during execution
Trait Implementations§
Source§impl Clone for StrategyContext
impl Clone for StrategyContext
Source§fn clone(&self) -> StrategyContext
fn clone(&self) -> StrategyContext
Returns a duplicate of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for StrategyContext
impl Debug for StrategyContext
Auto Trait Implementations§
impl Freeze for StrategyContext
impl RefUnwindSafe for StrategyContext
impl Send for StrategyContext
impl Sync for StrategyContext
impl Unpin for StrategyContext
impl UnwindSafe for StrategyContext
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)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