prost_msg_id/lib.rs
1/*
2message Fail{
3 enum MsgId { None=0;Id = 150002; }
4 int64 number=1;
5 string message=2;
6}
7 */
8
9
10
11
12use std::fmt::Debug;
13use std::rc::Rc;
14use std::sync::Arc;
15
16/// prost type msg id trait
17pub trait MsgId {
18 /// get struct msg id
19 fn get_msg_id(&self) -> i32;
20}
21
22impl <T:MsgId> MsgId for Box<T>{
23 fn get_msg_id(&self) -> i32 {
24 (**self).get_msg_id()
25 }
26}
27
28impl <T:MsgId> MsgId for Rc<T>{
29 fn get_msg_id(&self) -> i32 {
30 (**self).get_msg_id()
31 }
32}
33
34impl <T:MsgId> MsgId for Arc<T>{
35 fn get_msg_id(&self) -> i32 {
36 (**self).get_msg_id()
37 }
38}