use serde::Serialize; #[derive(Serialize)] pub struct Event where T: Serialize, { name: String, data: T, } impl Event where T: Serialize, { pub fn new(name: String, data: T) -> Event { Event { name, data } } } impl Into for Event where T: Serialize, { fn into(self) -> String { serde_json::to_string(&self).unwrap() } }