about summary refs log tree commit diff
diff options
context:
space:
mode:
authorFlorian Klink <flokli@flokli.de>2023-01-04T20·27+0100
committerflokli <flokli@flokli.de>2023-01-04T21·58+0000
commit95c9c2ae8b3bf81afaee8f0baf408257c1f60454 (patch)
tree46187e12a46f13781c294981a745a1ec79b8ddfb
parentcc626d686cceed84e45d21bf32514a3a3f8e2b11 (diff)
feat(tvix/derivation): derive Clone, Debug, Eq and PartialEq r/5592
This allows juggling with Derivation structs in unit tests, and makes it
very easy to compare them for equality.

Change-Id: I1faf2ec1eefb1a40fcee3c29f04ec47d29f22691
Reviewed-on: https://cl.tvl.fyi/c/depot/+/7758
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
-rw-r--r--tvix/derivation/src/derivation.rs2
-rw-r--r--tvix/derivation/src/output.rs4
2 files changed, 3 insertions, 3 deletions
diff --git a/tvix/derivation/src/derivation.rs b/tvix/derivation/src/derivation.rs
index a1a05abea601..a9ae4191b2de 100644
--- a/tvix/derivation/src/derivation.rs
+++ b/tvix/derivation/src/derivation.rs
@@ -7,7 +7,7 @@ use std::{collections::BTreeMap, fmt, fmt::Write, iter::FromIterator};
 use tvix_store::nixbase32::NIXBASE32;
 use tvix_store::nixpath::STORE_DIR;
 
-#[derive(Serialize, Deserialize)]
+#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
 pub struct Derivation {
     #[serde(rename = "args")]
     pub arguments: Vec<String>,
diff --git a/tvix/derivation/src/output.rs b/tvix/derivation/src/output.rs
index 2839110971d2..b038f6b5fc6d 100644
--- a/tvix/derivation/src/output.rs
+++ b/tvix/derivation/src/output.rs
@@ -1,7 +1,7 @@
 use serde::{Deserialize, Serialize};
 use tvix_store::nixpath::NixPath;
 
-#[derive(Serialize, Deserialize)]
+#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
 pub struct Output {
     pub path: String,
 
@@ -9,7 +9,7 @@ pub struct Output {
     pub hash: Option<Hash>,
 }
 
-#[derive(Serialize, Deserialize)]
+#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
 pub struct Hash {
     #[serde(rename = "hash")]
     pub digest: String,