rune 0.9.0

An embeddable dynamic programming language for Rust.
Documentation
use crate::ir::eval::prelude::*;

impl IrEval for ir::IrVec {
    type Output = IrValue;

    fn eval(
        &self,
        interp: &mut IrInterpreter<'_>,
        used: Used,
    ) -> Result<Self::Output, IrEvalOutcome> {
        let mut vec = Vec::with_capacity(self.items.len());

        for item in self.items.iter() {
            vec.push(item.eval(interp, used)?);
        }

        Ok(IrValue::Vec(Shared::new(vec)))
    }
}