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