diff options
author | Vincent Ambo <mail@tazj.in> | 2023-02-26T15·40+0300 |
---|---|---|
committer | tazjin <tazjin@tvl.su> | 2023-03-04T15·53+0000 |
commit | bfb787a6c5dc6ccd9a25efc015770f20702c2a55 (patch) | |
tree | 9bd2630aeb074ad5fb3ae6e261350785392ad4f4 /tvix/eval/src/value/thunk.rs | |
parent | 38fd3cb2929518aae42ce239a8b115c4d568bb4d (diff) |
refactor(tvix/eval): remove VM argument from suspended native thunks r/5888
Because they do not use it, and it can not be passed with the coming generator refactoring. Change-Id: I0d96f2357a7ee79cd8a0f401583d4286230d4a6b Reviewed-on: https://cl.tvl.fyi/c/depot/+/8146 Tested-by: BuildkiteCI Reviewed-by: raitobezarius <tvl@lahfa.xyz>
Diffstat (limited to 'tvix/eval/src/value/thunk.rs')
-rw-r--r-- | tvix/eval/src/value/thunk.rs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/tvix/eval/src/value/thunk.rs b/tvix/eval/src/value/thunk.rs index 1c7ed615527c..43adb314a211 100644 --- a/tvix/eval/src/value/thunk.rs +++ b/tvix/eval/src/value/thunk.rs @@ -39,7 +39,7 @@ use crate::{ use super::{Lambda, TotalDisplay}; /// Internal representation of a suspended native thunk. -struct SuspendedNative(Box<dyn Fn(&mut VM) -> Result<Value, ErrorKind>>); +struct SuspendedNative(Box<dyn Fn() -> Result<Value, ErrorKind>>); impl Debug for SuspendedNative { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -109,7 +109,7 @@ impl Thunk { }))) } - pub fn new_suspended_native(native: Box<dyn Fn(&mut VM) -> Result<Value, ErrorKind>>) -> Self { + pub fn new_suspended_native(native: Box<dyn Fn() -> Result<Value, ErrorKind>>) -> Self { Thunk(Rc::new(RefCell::new(ThunkRepr::Native(SuspendedNative( native, ))))) @@ -199,7 +199,7 @@ impl Thunk { // the trampoline, to handle the case of the native function // returning another thunk. ThunkRepr::Native(native) => { - let value = native.0(vm)?; + let value = native.0()?; self.0.replace(ThunkRepr::Evaluated(value)); let self_clone = self.clone(); @@ -277,7 +277,7 @@ impl Thunk { // Same as for the native case above, but results are placed // in *both* thunks. ThunkRepr::Native(native) => { - let value = native.0(vm)?; + let value = native.0()?; self.0.replace(ThunkRepr::Evaluated(value.clone())); inner.0.replace(ThunkRepr::Evaluated(value)); let self_clone = self.clone(); |