From 9793745459fb5a8d2d66c4e8832b9ca79fdd9a1a Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Wed, 20 Mar 2024 18:00:39 +0200 Subject: feat(tvix/castore): derive Eq and Hash automatically 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 Autosubmit: flokli --- tvix/castore/build.rs | 1 + tvix/castore/src/proto/mod.rs | 4 +--- 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 { Some(self.cmp(other)) -- cgit 1.4.1