fn call<A, E>(&self, args: A, extra: E) -> Result<Value, VmError>
    where
        A: Args,
        E: Args,
    {
        Function::check_args(args.count(), self.args)?;

        let mut vm = Vm::new(self.context.clone(), self.unit.clone());

        vm.set_ip(self.offset);
        args.into_stack(vm.stack_mut())?;
        extra.into_stack(vm.stack_mut())?;

        self.call.call_with_vm(vm)
    }
/// Perform a call into the specified offset and return the produced value.
Perform a call into the specified offset and return the produced value.
Perform a call into the specified offset and return the produced value .
fn call<A, E>(&self, args: A, extra: E) -> Result<Value, VmError>
    where
        A: Args,
        E: Args,
    {
        Function::check_args(args.count(), self.args)?;
        let mut vm = Vm::new(self.context.clone(), self.unit.clone());
        vm.set_ip(self.offset);
        args.into_stack(vm.stack_mut())?;
        extra.into_stack(vm.stack_mut())?;
        self.call.call_with_vm(vm)
    }
fn call < A , E > ( & self , args : A , extra : E ) -> Result < Value , VmError > where A : Args , E : Args , { Function :: check_args ( args . count ( ) , self . args ) ? ; let mut vm = Vm :: new ( self . context . clone ( ) , self . unit . clone ( ) ) ; vm . set_ip ( self . offset ) ; args . into_stack ( vm . stack_mut ( ) ) ? ; extra . into_stack ( vm . stack_mut ( ) ) ? ; self . call . call_with_vm ( vm ) }
Perform a call into the specified offset and return the produced value.
Perform a call into the specified offset and return the produced value .
&self
args
A
extra
E
&self
args
A
extra
E