summaryrefslogtreecommitdiffstats
path: root/third_party/rust/serde_derive/src/internals/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/rust/serde_derive/src/internals/mod.rs')
-rw-r--r--third_party/rust/serde_derive/src/internals/mod.rs27
1 files changed, 27 insertions, 0 deletions
diff --git a/third_party/rust/serde_derive/src/internals/mod.rs b/third_party/rust/serde_derive/src/internals/mod.rs
new file mode 100644
index 0000000000..f98ef08e8c
--- /dev/null
+++ b/third_party/rust/serde_derive/src/internals/mod.rs
@@ -0,0 +1,27 @@
+pub mod ast;
+pub mod attr;
+
+mod case;
+mod check;
+mod ctxt;
+mod receiver;
+mod respan;
+mod symbol;
+
+use syn::Type;
+
+pub use self::ctxt::Ctxt;
+pub use self::receiver::replace_receiver;
+
+#[derive(Copy, Clone)]
+pub enum Derive {
+ Serialize,
+ Deserialize,
+}
+
+pub fn ungroup(mut ty: &Type) -> &Type {
+ while let Type::Group(group) = ty {
+ ty = &group.elem;
+ }
+ ty
+}