diff options
-rw-r--r-- | tvix/nix-compat/src/nixbase32.rs | 4 | ||||
-rw-r--r-- | tvix/nix-compat/src/store_path/mod.rs | 9 |
2 files changed, 3 insertions, 10 deletions
diff --git a/tvix/nix-compat/src/nixbase32.rs b/tvix/nix-compat/src/nixbase32.rs index 9aed20054602..babf768addf2 100644 --- a/tvix/nix-compat/src/nixbase32.rs +++ b/tvix/nix-compat/src/nixbase32.rs @@ -134,12 +134,12 @@ fn find_invalid(input: &[u8]) -> u8 { } /// Returns the decoded length of an input of length len. -pub fn decode_len(len: usize) -> usize { +pub const fn decode_len(len: usize) -> usize { (len * 5) / 8 } /// Returns the encoded length of an input of length len -pub fn encode_len(len: usize) -> usize { +pub const fn encode_len(len: usize) -> usize { (len * 8 + 4) / 5 } diff --git a/tvix/nix-compat/src/store_path/mod.rs b/tvix/nix-compat/src/store_path/mod.rs index faa2280e597d..10bf1eb0266c 100644 --- a/tvix/nix-compat/src/store_path/mod.rs +++ b/tvix/nix-compat/src/store_path/mod.rs @@ -15,9 +15,7 @@ mod utils; pub use utils::*; pub const DIGEST_SIZE: usize = 20; -// lazy_static doesn't allow us to call NIXBASE32.encode_len(), so we ran it -// manually and have an assert in the tests. -pub const ENCODED_DIGEST_SIZE: usize = 32; +pub const ENCODED_DIGEST_SIZE: usize = nixbase32::encode_len(DIGEST_SIZE); // The store dir prefix, without trailing slash. // That's usually where the Nix store is mounted at. @@ -299,11 +297,6 @@ mod tests { use super::{Error, StorePath}; #[test] - fn encoded_digest_size() { - assert_eq!(ENCODED_DIGEST_SIZE, nixbase32::encode_len(DIGEST_SIZE)); - } - - #[test] fn happy_path() { let example_nix_path_str = "00bgd045z0d4icpbc2yyz4gx48ak44la-net-tools-1.60_p20170221182432"; |