From 0ae61a3dd1165796a80cc7b0115b623464069f6c Mon Sep 17 00:00:00 2001 From: David Tolnay Date: Fri, 19 Aug 2016 20:19:07 -0400 Subject: [PATCH] Switch to syntex::with_extra_stack --- serde_codegen/Cargo.toml | 14 ++++++------ serde_codegen/src/env.rs | 36 ------------------------------ serde_codegen/src/lib.rs | 9 +------- serde_codegen_internals/Cargo.toml | 4 ++-- 4 files changed, 10 insertions(+), 53 deletions(-) delete mode 100644 serde_codegen/src/env.rs diff --git a/serde_codegen/Cargo.toml b/serde_codegen/Cargo.toml index f990605a..5447aab5 100644 --- a/serde_codegen/Cargo.toml +++ b/serde_codegen/Cargo.toml @@ -25,14 +25,14 @@ with-syntex = [ ] [build-dependencies] -quasi_codegen = { version = "^0.17.0", optional = true } -syntex = { version = "^0.41.0", optional = true } +quasi_codegen = { version = "^0.18.0", optional = true } +syntex = { version = "^0.42.2", optional = true } [dependencies] -aster = { version = "^0.24.0", default-features = false } +aster = { version = "^0.25.0", default-features = false } clippy = { version = "^0.*", optional = true } -quasi = { version = "^0.17.0", default-features = false } -quasi_macros = { version = "^0.17.0", optional = true } +quasi = { version = "^0.18.0", default-features = false } +quasi_macros = { version = "^0.18.0", optional = true } serde_codegen_internals = { version = "=0.6.1", default-features = false, path = "../serde_codegen_internals" } -syntex = { version = "^0.41.0", optional = true } -syntex_syntax = { version = "^0.41.0", optional = true } +syntex = { version = "^0.42.2", optional = true } +syntex_syntax = { version = "^0.42.0", optional = true } diff --git a/serde_codegen/src/env.rs b/serde_codegen/src/env.rs deleted file mode 100644 index 36272550..00000000 --- a/serde_codegen/src/env.rs +++ /dev/null @@ -1,36 +0,0 @@ -use std::env; -use std::ffi::OsStr; -use std::ops::Drop; - -pub fn set_if_unset(k: K, v: V) -> TmpEnv - where K: AsRef, - V: AsRef, -{ - match env::var(&k) { - Ok(_) => TmpEnv::WasAlreadySet, - Err(_) => { - env::set_var(&k, v); - TmpEnv::WasNotSet { k: k } - } - } -} - -#[must_use] -pub enum TmpEnv - where K: AsRef, -{ - WasAlreadySet, - WasNotSet { - k: K, - } -} - -impl Drop for TmpEnv - where K: AsRef, -{ - fn drop(&mut self) { - if let TmpEnv::WasNotSet { ref k } = *self { - env::remove_var(k); - } - } -} diff --git a/serde_codegen/src/lib.rs b/serde_codegen/src/lib.rs index 3c72f43a..fcdc6f4e 100644 --- a/serde_codegen/src/lib.rs +++ b/serde_codegen/src/lib.rs @@ -35,9 +35,6 @@ include!(concat!(env!("OUT_DIR"), "/lib.rs")); #[cfg(not(feature = "with-syntex"))] include!("lib.rs.in"); -#[cfg(feature = "with-syntex")] -mod env; - #[cfg(feature = "with-syntex")] pub fn expand(src: S, dst: D) -> Result<(), syntex::Error> where S: AsRef, @@ -86,11 +83,7 @@ pub fn expand(src: S, dst: D) -> Result<(), syntex::Error> reg.expand("", src, dst) }; - // 16 MB stack unless otherwise specified - let _tmp_env = env::set_if_unset("RUST_MIN_STACK", "16777216"); - - use std::thread; - thread::spawn(expand_thread).join().unwrap() + syntex::with_extra_stack(expand_thread) } #[cfg(not(feature = "with-syntex"))] diff --git a/serde_codegen_internals/Cargo.toml b/serde_codegen_internals/Cargo.toml index 98d02859..7f69e32a 100644 --- a/serde_codegen_internals/Cargo.toml +++ b/serde_codegen_internals/Cargo.toml @@ -17,5 +17,5 @@ with-syntex = ["syntex_syntax", "syntex_errors"] [dependencies] clippy = { version = "^0.*", optional = true } -syntex_syntax = { version = "^0.41.0", optional = true } -syntex_errors = { version = "^0.41.0", optional = true } +syntex_syntax = { version = "^0.42.0", optional = true } +syntex_errors = { version = "^0.42.0", optional = true }