about summary refs log tree commit diff
path: root/tvix/cli/src/nix_compat.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tvix/cli/src/nix_compat.rs')
-rw-r--r--tvix/cli/src/nix_compat.rs12
1 files changed, 5 insertions, 7 deletions
diff --git a/tvix/cli/src/nix_compat.rs b/tvix/cli/src/nix_compat.rs
index 70bddb834674..4141e0a21759 100644
--- a/tvix/cli/src/nix_compat.rs
+++ b/tvix/cli/src/nix_compat.rs
@@ -5,7 +5,6 @@
 //! by piggybacking off functionality that already exists in Nix and
 //! is still being implemented in Tvix.
 
-use std::cell::RefCell;
 use std::collections::HashMap;
 use std::path::Path;
 use std::process::Command;
@@ -25,7 +24,7 @@ pub struct NixCompatIO {
     // TODO(tazjin): This could be done better by having a thunk cache
     // for these calls on the eval side, but that is a little more
     // complex.
-    import_cache: RefCell<HashMap<PathBuf, PathBuf>>,
+    import_cache: HashMap<PathBuf, PathBuf>,
 }
 
 impl EvalIO for NixCompatIO {
@@ -36,7 +35,7 @@ impl EvalIO for NixCompatIO {
     // Pass path imports through to `nix-store --add`
     fn import_path(&mut self, path: &Path) -> Result<PathBuf, ErrorKind> {
         let path = path.to_owned();
-        if let Some(path) = self.import_cache.borrow().get(&path) {
+        if let Some(path) = self.import_cache.get(&path) {
             return Ok(path.to_path_buf());
         }
 
@@ -45,9 +44,8 @@ impl EvalIO for NixCompatIO {
             path: Some(path.to_path_buf()),
         })?;
 
-        self.import_cache
-            .borrow_mut()
-            .insert(path, store_path.clone());
+        self.import_cache.insert(path, store_path.clone());
+
         Ok(store_path)
     }
 
@@ -83,7 +81,7 @@ impl NixCompatIO {
     pub fn new() -> Self {
         NixCompatIO {
             underlying: StdIO,
-            import_cache: RefCell::new(HashMap::new()),
+            import_cache: HashMap::new(),
         }
     }