about summary refs log tree commit diff
diff options
context:
space:
mode:
authorFlorian Klink <flokli@flokli.de>2024-03-20T16·00+0200
committerclbot <clbot@tvl.fyi>2024-03-20T21·19+0000
commit9793745459fb5a8d2d66c4e8832b9ca79fdd9a1a (patch)
treef271f594fa8edd26aafaacfdbb861873cd3edd1d
parent345a639e799bed7a11ab75e3e90b4246e64269df (diff)
feat(tvix/castore): derive Eq and Hash automatically r/7757
This allows these messages to be put in HashSets.

Change-Id: Ia58094cafe53eb624578821d3d8d969c5d21a1d7
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11219
Tested-by: BuildkiteCI
Reviewed-by: Connor Brewster <cbrewster@hey.com>
Autosubmit: flokli <flokli@flokli.de>
-rw-r--r--tvix/castore/build.rs1
-rw-r--r--tvix/castore/src/proto/mod.rs4
2 files changed, 2 insertions, 3 deletions
diff --git a/tvix/castore/build.rs b/tvix/castore/build.rs
index 6424487b21..089c093e71 100644
--- a/tvix/castore/build.rs
+++ b/tvix/castore/build.rs
@@ -15,6 +15,7 @@ fn main() -> Result<()> {
     // https://github.com/hyperium/tonic/issues/908
     let mut config = prost_build::Config::new();
     config.bytes(["."]);
+    config.type_attribute(".", "#[derive(Eq, Hash)]");
 
     builder
         .build_server(true)
diff --git a/tvix/castore/src/proto/mod.rs b/tvix/castore/src/proto/mod.rs
index 59f5c1fdf3..97ef183588 100644
--- a/tvix/castore/src/proto/mod.rs
+++ b/tvix/castore/src/proto/mod.rs
@@ -1,4 +1,4 @@
-#![allow(clippy::derive_partial_eq_without_eq, non_snake_case)]
+#![allow(non_snake_case)]
 // https://github.com/hyperium/tonic/issues/1056
 use bstr::ByteSlice;
 use std::{collections::HashSet, iter::Peekable, str};
@@ -167,8 +167,6 @@ impl node::Node {
     }
 }
 
-impl Eq for node::Node {}
-
 impl PartialOrd for node::Node {
     fn partial_cmp(&self, other: &Self) -> Option<std::cmp::Ordering> {
         Some(self.cmp(other))