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