pub struct EvaluatorFunction {
pub span: SourceSpan,
pub name: Identifier,
pub params: Vec<TraceSegment>,
pub body: Vec<Statement>,
}Expand description
Evaluator functions take a vector of trace bindings as parameters where each trace binding represents one or a group of columns in the execution trace that are passed to the evaluator function, and enforce integrity constraints on those trace columns.
Fields§
§span: SourceSpan§name: Identifier§params: Vec<TraceSegment>§body: Vec<Statement>Implementations§
Source§impl EvaluatorFunction
impl EvaluatorFunction
Sourcepub const fn new(
span: SourceSpan,
name: Identifier,
params: Vec<TraceSegment>,
body: Vec<Statement>,
) -> Self
pub const fn new( span: SourceSpan, name: Identifier, params: Vec<TraceSegment>, body: Vec<Statement>, ) -> Self
Creates a new function.
Trait Implementations§
Source§impl Clone for EvaluatorFunction
impl Clone for EvaluatorFunction
Source§fn clone(&self) -> EvaluatorFunction
fn clone(&self) -> EvaluatorFunction
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 moreSource§impl Debug for EvaluatorFunction
impl Debug for EvaluatorFunction
Source§impl PartialEq for EvaluatorFunction
impl PartialEq for EvaluatorFunction
Source§impl Spanned for EvaluatorFunction
impl Spanned for EvaluatorFunction
fn span(&self) -> SourceSpan
impl Eq for EvaluatorFunction
Auto Trait Implementations§
impl Freeze for EvaluatorFunction
impl RefUnwindSafe for EvaluatorFunction
impl Send for EvaluatorFunction
impl Sync for EvaluatorFunction
impl Unpin for EvaluatorFunction
impl UnwindSafe for EvaluatorFunction
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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