1pub mod ast; 2pub mod attr; 3 4mod case; 5mod check; 6mod ctxt; 7mod receiver; 8mod respan; 9mod symbol; 10 11use syn::Type; 12 13pub use self::ctxt::Ctxt; 14pub use self::receiver::replace_receiver; 15 16#[derive(Copy, Clone)] 17pub enum Derive { 18 Serialize, 19 Deserialize, 20} 21 22pub fn ungroup(mut ty: &Type) -> &Type { 23 while let Type::Group(group) = ty { 24 ty = &group.elem; 25 } 26 ty 27} 28