about summary refs log tree commit diff
path: root/tvix/nix-compat/src/store_path/utils.rs
diff options
context:
space:
mode:
authorFlorian Klink <flokli@flokli.de>2024-10-15T23·51+0300
committerflokli <flokli@flokli.de>2024-11-12T11·55+0000
commit1428ea4e191aa897a0a23e2c90f997f0b65aae6d (patch)
tree6a093f91b2deff805bf08715edced90d490716d4 /tvix/nix-compat/src/store_path/utils.rs
parent14744713276870cf0380e31bee01124e1a2f4cb0 (diff)
refactor(nix-compat/store_path): use AsRef<str> r/8913
Implement PartialEq/Eq ourselves instead of deriving, by proxying to
name.as_ref() (and digest of course).

Also implement Hash on our own, clippy doesn't like this to be derived,
while Eq/PartialEq is not.

Change-Id: Idbe289a23ba3bc8dabf893d4d8752792ae2778c3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12744
Tested-by: BuildkiteCI
Reviewed-by: edef <edef@edef.eu>
Autosubmit: flokli <flokli@flokli.de>
Diffstat (limited to 'tvix/nix-compat/src/store_path/utils.rs')
-rw-r--r--tvix/nix-compat/src/store_path/utils.rs8
1 files changed, 4 insertions, 4 deletions
diff --git a/tvix/nix-compat/src/store_path/utils.rs b/tvix/nix-compat/src/store_path/utils.rs
index a0dc21160e7a..63b6969464d8 100644
--- a/tvix/nix-compat/src/store_path/utils.rs
+++ b/tvix/nix-compat/src/store_path/utils.rs
@@ -50,7 +50,7 @@ pub fn build_text_path<'a, S, SP, I, C>(
 ) -> Result<StorePath<SP>, BuildStorePathError>
 where
     S: AsRef<str>,
-    SP: std::cmp::Eq + std::ops::Deref<Target = str> + std::convert::From<&'a str>,
+    SP: AsRef<str> + std::convert::From<&'a str>,
     I: IntoIterator<Item = S>,
     C: AsRef<[u8]>,
 {
@@ -69,7 +69,7 @@ pub fn build_ca_path<'a, S, SP, I>(
 ) -> Result<StorePath<SP>, BuildStorePathError>
 where
     S: AsRef<str>,
-    SP: std::cmp::Eq + std::ops::Deref<Target = str> + std::convert::From<&'a str>,
+    SP: AsRef<str> + std::convert::From<&'a str>,
     I: IntoIterator<Item = S>,
 {
     // self references are only allowed for CAHash::Nar(NixHash::Sha256(_)).
@@ -129,7 +129,7 @@ pub fn build_output_path<'a, SP>(
     output_path_name: &'a str,
 ) -> Result<StorePath<SP>, Error>
 where
-    SP: std::cmp::Eq + std::ops::Deref<Target = str> + std::convert::From<&'a str>,
+    SP: AsRef<str> + std::convert::From<&'a str>,
 {
     build_store_path_from_fingerprint_parts(
         &(String::from("output:") + output_name),
@@ -154,7 +154,7 @@ fn build_store_path_from_fingerprint_parts<'a, SP>(
     name: &'a str,
 ) -> Result<StorePath<SP>, Error>
 where
-    SP: std::cmp::Eq + std::ops::Deref<Target = str> + std::convert::From<&'a str>,
+    SP: AsRef<str> + std::convert::From<&'a str>,
 {
     let fingerprint = format!(
         "{ty}:sha256:{}:{STORE_DIR}:{name}",