diff options
author | Florian Klink <flokli@flokli.de> | 2023-10-14T16·48+0100 |
---|---|---|
committer | clbot <clbot@tvl.fyi> | 2023-10-14T17·55+0000 |
commit | 4ae0f428bd207fdf3730d0f6ff73c7410ae9cd7b (patch) | |
tree | 341376899389f822e4bd40b3843aba8954fc77a3 /tvix/nix-compat/src/derivation/mod.rs | |
parent | 786b0324a9df1a63606bae72011978fc415f6f07 (diff) |
refactor(tvix/nix-compat): make NixHash an enum with fixed-len bytes r/6807
Less Vec<u8> passed around. Change-Id: Ie153a6bfaa084d7490ffa38634efdf5f3c31a768 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9722 Reviewed-by: Connor Brewster <cbrewster@hey.com> Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
Diffstat (limited to 'tvix/nix-compat/src/derivation/mod.rs')
-rw-r--r-- | tvix/nix-compat/src/derivation/mod.rs | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/tvix/nix-compat/src/derivation/mod.rs b/tvix/nix-compat/src/derivation/mod.rs index 0e98e24f43dd..3c08d61831ba 100644 --- a/tvix/nix-compat/src/derivation/mod.rs +++ b/tvix/nix-compat/src/derivation/mod.rs @@ -168,7 +168,8 @@ impl Derivation { // This is not the [NixHash::to_nix_hash_string], but without the sha256: prefix). for (drv_path, output_names) in &self.input_derivations { replaced_input_derivations.insert( - data_encoding::HEXLOWER.encode(&fn_get_derivation_or_fod_hash(drv_path).digest), + data_encoding::HEXLOWER + .encode(fn_get_derivation_or_fod_hash(drv_path).digest_as_bytes()), output_names.clone(), ); } @@ -186,12 +187,7 @@ impl Derivation { hasher.finalize().to_vec() }); - // We populate the struct directly, as we know the sha256 digest has the - // right size. - NixHash { - algo: crate::nixhash::HashAlgo::Sha256, - digest: digest.to_vec(), - } + NixHash::Sha256(digest.try_into().unwrap()) } /// This calculates all output paths of a Derivation and updates the struct. |