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}