use round_based::ProtocolMessage; #[derive(ProtocolMessage)] enum Msg { VariantA(u16), VariantB(String), VariantC((u16, String)), VariantD(MyStruct), } #[derive(ProtocolMessage)] #[protocol_message(root = round_based)] enum Msg2 { VariantA(u16), VariantB(String), VariantC((u16, String)), VariantD(MyStruct), } struct MyStruct(T); fn main() {}