use messagebus::{ derive::{Error as MbError, Message}, error, Message, TypeTagged, }; use thiserror::Error; #[derive(Debug, Error, MbError)] enum Error { #[error("Error({0})")] Error(anyhow::Error), } impl From> for Error { fn from(err: error::Error) -> Self { Self::Error(err.into()) } } #[derive(Debug, Clone, Message)] #[namespace("api")] pub struct Msg(pub F); #[derive(Debug, Clone, Message)] #[type_tag("api::Query")] pub struct Qqq(pub F, pub G, pub H); fn main() { assert_eq!( Qqq::, Msg<()>, u64>::type_tag_(), "api::Query,api::Msg<()>,u64>" ); }