From 609277e587de740a78aec7c274bcf3f04aea02b4 Mon Sep 17 00:00:00 2001 From: Stanislav Skobelkin Date: Mon, 9 Mar 2026 11:32:39 +0300 Subject: [PATCH] fix(ffi): Export Eq and Hash traits in enums used as HashMap keys matrix_sdk_ffi::ruma::TagName and matrix_sdk_ffi::event::TimelineEventType enums that are used as HashMap keys by matrix_sdk_ffi::ruma::Tag and matrix_sdk_ffi::room::power_levels::RoomPowerLevels respectively should probably export Eq and Hash traits, so that we can generate bindings for languages that implement uniffi's record/HashMap type using a hash table (e.g. std::unordered_map in C++) Signed-off-by: Stanislav Skobelkin --- bindings/matrix-sdk-ffi/src/event.rs | 1 + bindings/matrix-sdk-ffi/src/ruma.rs | 1 + 2 files changed, 2 insertions(+) diff --git a/bindings/matrix-sdk-ffi/src/event.rs b/bindings/matrix-sdk-ffi/src/event.rs index 6926445b9a4..e2ff55fa3ac 100644 --- a/bindings/matrix-sdk-ffi/src/event.rs +++ b/bindings/matrix-sdk-ffi/src/event.rs @@ -89,6 +89,7 @@ impl From for TimelineEvent { /// The timeline event type. #[derive(Clone, uniffi::Enum, PartialEq, Eq, Hash)] +#[uniffi::export(Eq, Hash)] pub enum TimelineEventType { /// The event is a message-like one and should be displayed as such. MessageLike { value: MessageLikeEventType }, diff --git a/bindings/matrix-sdk-ffi/src/ruma.rs b/bindings/matrix-sdk-ffi/src/ruma.rs index c5b0ad247c5..12905dc9286 100644 --- a/bindings/matrix-sdk-ffi/src/ruma.rs +++ b/bindings/matrix-sdk-ffi/src/ruma.rs @@ -1709,6 +1709,7 @@ pub enum RoomAccountDataEvent { /// The name of a tag. #[derive(Clone, PartialEq, Eq, Hash, uniffi::Enum)] +#[uniffi::export(Eq, Hash)] pub enum TagName { /// `m.favourite`: The user's favorite rooms. Favorite,