From f0179c92d3248667b7f037de91c6b9eb737a40d2 Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Mon, 3 Oct 2022 11:26:32 +0300 Subject: refactor(tvix/eval): allow impure Value builtins Allows impure builtins that have a different shape than a Rust function pointer; specifically this is required for builtins.currentTime which does not work in WASM. Change-Id: I1362d8eeafe770ce4d1c5ebe4d119aeb0abb5c9b Reviewed-on: https://cl.tvl.fyi/c/depot/+/6849 Reviewed-by: sterni Tested-by: BuildkiteCI Reviewed-by: grfn Reviewed-by: wpcarro --- tvix/eval/src/builtins/mod.rs | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'tvix/eval/src/builtins/mod.rs') diff --git a/tvix/eval/src/builtins/mod.rs b/tvix/eval/src/builtins/mod.rs index cd4200a13d..848ac9e25d 100644 --- a/tvix/eval/src/builtins/mod.rs +++ b/tvix/eval/src/builtins/mod.rs @@ -3,12 +3,10 @@ //! See //tvix/eval/docs/builtins.md for a some context on the //! available builtins in Nix. -use std::{ - cmp, - collections::{BTreeMap, HashMap}, - path::PathBuf, - rc::Rc, -}; +use std::cmp; +use std::collections::{BTreeMap, HashMap}; +use std::path::PathBuf; +use std::rc::Rc; use crate::{ errors::ErrorKind, @@ -385,7 +383,7 @@ fn builtins_set() -> NixAttrs { add_builtins(pure_builtins()); #[cfg(feature = "impure")] { - add_builtins(impure::builtins()); + map.extend(impure::builtins()); } NixAttrs::from_map(map) -- cgit 1.4.1