use gpui2::{actions, impl_actions}; use gpui2_macros::register_action; use serde_derive::Deserialize; #[test] fn test_action_macros() { use gpui2 as gpui; actions!(test, [TestAction]); #[derive(PartialEq, Clone, Deserialize)] struct AnotherTestAction; impl_actions!(test, [AnotherTestAction]); #[derive(PartialEq, Clone, gpui::serde_derive::Deserialize)] struct RegisterableAction {} register_action!(RegisterableAction); impl gpui::Action for RegisterableAction { fn boxed_clone(&self) -> Box { todo!() } fn as_any(&self) -> &dyn std::any::Any { todo!() } fn partial_eq(&self, _action: &dyn gpui::Action) -> bool { todo!() } fn name(&self) -> &str { todo!() } fn debug_name() -> &'static str where Self: Sized, { todo!() } fn build(_value: serde_json::Value) -> anyhow::Result> where Self: Sized, { todo!() } } }