pub struct LogicPolicy { /* private fields */ }Expand description
Eval policy that treats each evaluated expression as a logic query goal.
The policy delegates resolution to the crate’s existing query resolver and returns the first answer as a symbol-keyed table of captured bindings.
Implementations§
Source§impl LogicPolicy
impl LogicPolicy
Trait Implementations§
Source§impl EvalPolicy for LogicPolicy
impl EvalPolicy for LogicPolicy
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.
Source§fn allow_macro_expansion(&self, _phase: Phase) -> bool
fn allow_macro_expansion(&self, _phase: Phase) -> bool
Auto Trait Implementations§
impl Freeze for LogicPolicy
impl RefUnwindSafe for LogicPolicy
impl Send for LogicPolicy
impl Sync for LogicPolicy
impl Unpin for LogicPolicy
impl UnsafeUnpin for LogicPolicy
impl UnwindSafe for LogicPolicy
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