diff options
author | Florian Klink <flokli@flokli.de> | 2023-11-22T18·38+0200 |
---|---|---|
committer | flokli <flokli@flokli.de> | 2023-11-22T20·11+0000 |
commit | 671206a63f89f0ca58f830eabae0d7c31f70a750 (patch) | |
tree | 8f579dd5547e7dd12028703735c2249b4cb58d61 | |
parent | eb84898c177b5c4157efebc44c56459b9cf1ccf7 (diff) |
refactor(tvix/nix-compat): move from_name_and_digest to StorePathRef r/7047
We can simply use .to_owned() on that thing afterwards if we want to construct an owned StorePath. Change-Id: I0f3e2e4434b99ee522f2a7dbfa391e13a987479c Reviewed-on: https://cl.tvl.fyi/c/depot/+/10105 Autosubmit: flokli <flokli@flokli.de> Reviewed-by: edef <edef@edef.eu> Tested-by: BuildkiteCI
-rw-r--r-- | tvix/nix-compat/src/store_path/mod.rs | 16 | ||||
-rw-r--r-- | tvix/store/src/proto/mod.rs | 8 |
2 files changed, 11 insertions, 13 deletions
diff --git a/tvix/nix-compat/src/store_path/mod.rs b/tvix/nix-compat/src/store_path/mod.rs index 93a1f0e88924..830f75c36a92 100644 --- a/tvix/nix-compat/src/store_path/mod.rs +++ b/tvix/nix-compat/src/store_path/mod.rs @@ -107,14 +107,6 @@ impl StorePath { } } - /// Construct a [StorePath] from a name and digest. - pub fn from_name_and_digest(name: String, digest: &[u8]) -> Result<StorePath, Error> { - Ok(Self { - name: validate_name(name.as_bytes())?.to_owned(), - digest: digest.try_into().map_err(|_| Error::InvalidLength)?, - }) - } - /// Decompose a string into a [StorePath] and a [PathBuf] containing the /// rest of the path, or an error. #[cfg(target_family = "unix")] @@ -187,6 +179,14 @@ impl<'a> StorePathRef<'a> { } } + /// Construct a [StorePathRef] from a name and digest. + pub fn from_name_and_digest(name: &'a str, digest: &[u8]) -> Result<Self, Error> { + Ok(Self { + name: validate_name(name.as_bytes())?, + digest: digest.try_into().map_err(|_| Error::InvalidLength)?, + }) + } + /// Construct a [StorePathRef] by passing the `$digest-$name` string /// that comes after [STORE_DIR_WITH_SLASH]. pub fn from_bytes(s: &'a [u8]) -> Result<Self, Error> { diff --git a/tvix/store/src/proto/mod.rs b/tvix/store/src/proto/mod.rs index 3e14f26e2761..748976e23a40 100644 --- a/tvix/store/src/proto/mod.rs +++ b/tvix/store/src/proto/mod.rs @@ -151,11 +151,9 @@ impl PathInfo { // recursive Nix end with multiple .drv suffixes, and only one is popped when // converting to this field. if let Some(deriver) = &narinfo.deriver { - store_path::StorePath::from_name_and_digest( - deriver.name.clone(), - &deriver.digest, - ) - .map_err(ValidatePathInfoError::InvalidDeriverField)?; + store_path::StorePathRef::from_name_and_digest(&deriver.name, &deriver.digest) + .map_err(ValidatePathInfoError::InvalidDeriverField)? + .to_owned(); } } } |