From 8cd93f3db583f52f9b90047aefe60bf248aa7c1f Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Sat, 17 Feb 2024 13:12:10 +0700 Subject: refactor(tvix/glue/known_paths): use StorePath 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 Tested-by: BuildkiteCI Reviewed-by: flokli Reviewed-by: Peter Kolloch --- tvix/glue/src/builtins/derivation.rs | 2 +- tvix/glue/src/known_paths.rs | 12 ++++-------- 2 files changed, 5 insertions(+), 9 deletions(-) (limited to 'tvix') diff --git a/tvix/glue/src/builtins/derivation.rs b/tvix/glue/src/builtins/derivation.rs index 016eb9ba25f2..1ee8d531c7eb 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 fa2cf55fda56..1e3fe85a0f7c 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() }); -- cgit 1.4.1