diff options
Diffstat (limited to 'tvix/eval')
-rw-r--r-- | tvix/eval/src/builtins/impure.rs | 8 | ||||
-rw-r--r-- | tvix/eval/src/compiler/mod.rs | 4 | ||||
-rw-r--r-- | tvix/eval/src/value/thunk.rs | 8 |
3 files changed, 7 insertions, 13 deletions
diff --git a/tvix/eval/src/builtins/impure.rs b/tvix/eval/src/builtins/impure.rs index 80736708118c..91dce152e54a 100644 --- a/tvix/eval/src/builtins/impure.rs +++ b/tvix/eval/src/builtins/impure.rs @@ -6,13 +6,7 @@ use std::{ time::{SystemTime, UNIX_EPOCH}, }; -use crate::{ - errors::ErrorKind, - io::FileType, - value::{NixAttrs, Thunk}, - vm::VM, - Value, -}; +use crate::{errors::ErrorKind, io::FileType, value::NixAttrs, vm::VM, Value}; #[builtins] mod impure_builtins { diff --git a/tvix/eval/src/compiler/mod.rs b/tvix/eval/src/compiler/mod.rs index 83b1f01a8047..6dd0b669f957 100644 --- a/tvix/eval/src/compiler/mod.rs +++ b/tvix/eval/src/compiler/mod.rs @@ -1329,7 +1329,7 @@ fn compile_src_builtin( let file = source.add_file(format!("<src-builtins/{}.nix>", name), code.to_string()); let weak = weak.clone(); - Value::Thunk(Thunk::new_suspended_native(Box::new(move |_| { + Value::Thunk(Thunk::new_suspended_native(Box::new(move || { let result = compile( &parsed.tree().expr().unwrap(), None, @@ -1390,7 +1390,7 @@ pub fn prepare_globals( let weak_globals = weak.clone(); builtins.insert( "builtins", - Value::Thunk(Thunk::new_suspended_native(Box::new(move |_| { + Value::Thunk(Thunk::new_suspended_native(Box::new(move || { Ok(weak_globals .upgrade() .unwrap() 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(); |