pub struct HybridPolicy;Expand description
A policy that mixes eager and quoted arguments by their Demand.
Like StrictByShapePolicy, but expression-demanding positions are kept
as quoted expression values rather than lazy thunks.
Trait Implementations§
Source§impl EvalPolicy for HybridPolicy
impl EvalPolicy for HybridPolicy
Source§fn allow_macro_expansion(&self, phase: Phase) -> bool
fn allow_macro_expansion(&self, phase: Phase) -> bool
Source§fn prepare_call_args(
&self,
cx: &mut Cx,
raw: RawArgs,
demands: &[Demand],
) -> Result<PreparedArgs>
fn prepare_call_args( &self, cx: &mut Cx, raw: RawArgs, demands: &[Demand], ) -> Result<PreparedArgs>
Prepares raw call arguments into
PreparedArgs per the demands. Read moreSource§fn force(&self, cx: &mut Cx, value: Value, demand: Demand) -> Result<Value>
fn force(&self, cx: &mut Cx, value: Value, demand: Demand) -> Result<Value>
Forces
value far enough to satisfy demand.Source§fn eval_expr(&self, cx: &mut Cx, expr: Expr) -> Result<Value>
fn eval_expr(&self, cx: &mut Cx, expr: Expr) -> Result<Value>
Evaluates a bare expression to a value under this policy.
Auto Trait Implementations§
impl Freeze for HybridPolicy
impl RefUnwindSafe for HybridPolicy
impl Send for HybridPolicy
impl Sync for HybridPolicy
impl Unpin for HybridPolicy
impl UnsafeUnpin for HybridPolicy
impl UnwindSafe for HybridPolicy
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