diff options
author | edef <edef@edef.eu> | 2023-11-04T16·22+0000 |
---|---|---|
committer | edef <edef@edef.eu> | 2023-11-04T16·29+0000 |
commit | 6cec663aa164a4c419a9f0d999d8861ae84ee80b (patch) | |
tree | ae93a9069d598422b5572636effc6bae6ced4e50 /tvix/nix-compat | |
parent | c8cc31e07939feb707a60d2616de277f9227d6e6 (diff) |
fix(nix-compat/nixbase32): mark encode_len/decode_len const r/6940
Change-Id: Ib688bbb37cd54cfcd01e5cb3a8c376414ee8311e Reviewed-on: https://cl.tvl.fyi/c/depot/+/9926 Reviewed-by: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
Diffstat (limited to 'tvix/nix-compat')
-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"; |