Evaluate

Trait Evaluate 

Source
pub(crate) trait Evaluate: Spanned {
    // Required method
    fn evaluate<R: RcUpdater>(
        &self,
        ctx: &mut EvaluationContext<'_, R>,
        scope: ScopeIdentifier,
    ) -> Result<Unsigned36Bit, EvaluationFailure>;
}
Expand description

The Evaluate trait is implemented by any element of the program that can evaluate to a 36-bit word value.

This includes octal constants, full instructions and also parts of instructions (e.g. the index value, configuration value, instruction opcodes, #, RC-word references and so forth.

Required Methods§

Source

fn evaluate<R: RcUpdater>( &self, ctx: &mut EvaluationContext<'_, R>, scope: ScopeIdentifier, ) -> Result<Unsigned36Bit, EvaluationFailure>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl Evaluate for (&SimpleSpan, &SymbolName, &ExplicitDefinition)

Source§

fn evaluate<R: RcUpdater>( &self, ctx: &mut EvaluationContext<'_, R>, scope: ScopeIdentifier, ) -> Result<Unsigned36Bit, EvaluationFailure>

Implementors§