about summary refs log tree commit diff
diff options
context:
space:
mode:
authorFlorian Klink <flokli@flokli.de>2024-02-17T06·12+0700
committerclbot <clbot@tvl.fyi>2024-02-17T07·52+0000
commit8cd93f3db583f52f9b90047aefe60bf248aa7c1f (patch)
tree75080138c8b38ece67684ddc27e9b4d0476904cc
parentcc8b7fee57f6e7615bc387a4898a45e7fd5e7322 (diff)
refactor(tvix/glue/known_paths): use StorePath r/7540
Passing a StorePathRef is annoying if we only (already) have a
StorePath.

Change-Id: Ic3b36c0041707230515a6745a57f0d25b2bafd16
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10948
Autosubmit: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
Reviewed-by: flokli <flokli@flokli.de>
Reviewed-by: Peter Kolloch <info@eigenvalue.net>
-rw-r--r--tvix/glue/src/builtins/derivation.rs2
-rw-r--r--tvix/glue/src/known_paths.rs12
2 files changed, 5 insertions, 9 deletions
diff --git a/tvix/glue/src/builtins/derivation.rs b/tvix/glue/src/builtins/derivation.rs
index 016eb9ba25..1ee8d531c7 100644
--- a/tvix/glue/src/builtins/derivation.rs
+++ b/tvix/glue/src/builtins/derivation.rs
@@ -443,7 +443,7 @@ pub(crate) mod derivation_builtins {
         // This one is still intermediate (so not added to known_paths)
         let derivation_or_fod_hash_tmp = drv.derivation_or_fod_hash(|drv_path| {
             known_paths
-                .get_hash_derivation_modulo(drv_path)
+                .get_hash_derivation_modulo(&drv_path.to_owned())
                 .unwrap_or_else(|| panic!("{} not found", drv_path))
                 .to_owned()
         });
diff --git a/tvix/glue/src/known_paths.rs b/tvix/glue/src/known_paths.rs
index fa2cf55fda..1e3fe85a0f 100644
--- a/tvix/glue/src/known_paths.rs
+++ b/tvix/glue/src/known_paths.rs
@@ -8,11 +8,7 @@
 //! This data is required to find the derivation needed to actually trigger the
 //! build, if necessary.
 
-use nix_compat::{
-    derivation::Derivation,
-    nixhash::NixHash,
-    store_path::{StorePath, StorePathRef},
-};
+use nix_compat::{derivation::Derivation, nixhash::NixHash, store_path::StorePath};
 use std::collections::HashMap;
 
 /// Struct keeping track of all known Derivations in the current evaluation.
@@ -34,9 +30,9 @@ pub struct KnownPaths {
 
 impl KnownPaths {
     /// Fetch the opaque "hash derivation modulo" for a given derivation path.
-    pub fn get_hash_derivation_modulo(&self, drv_path: &StorePathRef) -> Option<&NixHash> {
+    pub fn get_hash_derivation_modulo(&self, drv_path: &StorePath) -> Option<&NixHash> {
         self.derivations
-            .get(&drv_path.to_owned())
+            .get(drv_path)
             .map(|(hash_derivation_modulo, _derivation)| hash_derivation_modulo)
     }
 
@@ -76,7 +72,7 @@ impl KnownPaths {
 
         // compute the hash derivation modulo
         let hash_derivation_modulo = drv.derivation_or_fod_hash(|drv_path| {
-            self.get_hash_derivation_modulo(drv_path)
+            self.get_hash_derivation_modulo(&drv_path.to_owned())
                 .unwrap_or_else(|| panic!("{} not found", drv_path))
                 .to_owned()
         });