about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--tvix/nix-compat/src/store_path/mod.rs16
-rw-r--r--tvix/store/src/proto/mod.rs8
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 93a1f0e889..830f75c36a 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 3e14f26e27..748976e23a 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();
                 }
             }
         }