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 <flokli@flokli.de>
Tested-by: BuildkiteCI
Reviewed-by: flokli <flokli@flokli.de>
Reviewed-by: Peter Kolloch <info@eigenvalue.net>
This commit is contained in:
Florian Klink 2024-02-17 13:12:10 +07:00 committed by clbot
parent cc8b7fee57
commit 8cd93f3db5
2 changed files with 5 additions and 9 deletions

View file

@ -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()
});

View file

@ -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()
});