From 8d06f36d715c1f925a30754277871c84c2beeefd Mon Sep 17 00:00:00 2001
From: David Tolnay <dtolnay@gmail.com>
Date: Sun, 17 Jul 2016 13:00:39 -0700
Subject: [PATCH] Remove public dependency on Syntex

---
 serde_codegen/src/lib.rs | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/serde_codegen/src/lib.rs b/serde_codegen/src/lib.rs
index 83a2f705..25801570 100644
--- a/serde_codegen/src/lib.rs
+++ b/serde_codegen/src/lib.rs
@@ -40,13 +40,6 @@ pub fn expand<S, D>(src: S, dst: D) -> Result<(), syntex::Error>
     where S: AsRef<Path>,
           D: AsRef<Path>,
 {
-    let mut registry = syntex::Registry::new();
-    register(&mut registry);
-    registry.expand("", src.as_ref(), dst.as_ref())
-}
-
-#[cfg(feature = "with-syntex")]
-pub fn register(reg: &mut syntex::Registry) {
     use syntax::{ast, fold};
 
     /// Strip the serde attributes from the crate.
@@ -73,6 +66,8 @@ pub fn register(reg: &mut syntex::Registry) {
         fold::Folder::fold_crate(&mut StripAttributeFolder, krate)
     }
 
+    let mut reg = syntex::Registry::new();
+
     reg.add_attr("feature(custom_derive)");
     reg.add_attr("feature(custom_attribute)");
 
@@ -80,6 +75,8 @@ pub fn register(reg: &mut syntex::Registry) {
     reg.add_decorator("derive_Deserialize", de::expand_derive_deserialize);
 
     reg.add_post_expansion_pass(strip_attributes);
+
+    reg.expand("", src.as_ref(), dst.as_ref())
 }
 
 #[cfg(not(feature = "with-syntex"))]