fix(nix-compat/nixbase32): mark encode_len/decode_len const

Change-Id: Ib688bbb37cd54cfcd01e5cb3a8c376414ee8311e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/9926
Reviewed-by: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
This commit is contained in:
edef 2023-11-04 16:22:39 +00:00
parent c8cc31e079
commit 6cec663aa1
2 changed files with 3 additions and 10 deletions

View file

@ -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
}

View file

@ -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.
@ -298,11 +296,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 =