#[macro_export] macro_rules! rest_struct { ($struct_name:ident { $($field_id:ident : $field_ty:ty),* }) => { #[derive(serde::Deserialize, serde::Serialize)] struct $struct_name { $($field_id : $field_ty),* } } } #[macro_export] macro_rules! rest_resource { ($res_name:ident, $route:ident => $setup:block) => { struct $res_name; impl ::gotham_restful::Resource for $res_name { fn name() -> String { stringify!($res_name).to_string() } fn setup(mut $route : D) $setup } } }