serde_derive/internals/
mod.rs

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