/// For intrinsics that yield thunks, when those thunks get awaited,
/// they invoke this method. This should execute some Rust code and
/// yield the result. Panics if invoked with an inappropriate intrinsic.
For intrinsics that yield thunks, when those thunks get awaited,
they invoke this method. This should execute some Rust code and
yield the result. Panics if invoked with an inappropriate intrinsic.
For intrinsics that yield thunks when those thunks get awaited they invoke this method . This should execute some Rust code and yield the result . Panics if invoked with an inappropriate intrinsic .
pub(crate) async fn async_intrinsic(
        &mut self,
        intrinsic: Intrinsic,
        mut values: Vec<Value>,
    ) -> eyre::Result<Value> {
        match intrinsic {
            Intrinsic::Print => {
                let value = values.pop().unwrap();
                let await_pc = self.machine.pc();
                self.intrinsic_print_async(await_pc, value).await
            }
        }
    }
pub ( crate ) async fn async_intrinsic ( & mut self , intrinsic : Intrinsic , mut values : Vec < Value > , ) -> eyre :: Result < Value > { match intrinsic { Intrinsic :: Print => { let value = values . pop ( ) . unwrap ( ) ; let await_pc = self . machine . pc ( ) ; self . intrinsic_print_async ( await_pc , value ) . await } } }
For intrinsics that yield thunks, when those thunks get awaited,
they invoke this method.
For intrinsics that yield thunks when those thunks get awaited they invoke this method .
&mut self
intrinsic
Intrinsic
values
Vec<Value>