diff --git a/Cargo.toml b/Cargo.toml index 214cbb4..d03dbc0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "eval" -version = "0.3.0" +version = "0.3.1" description = "Expression evaluator" keywords = ["expression", "evaluate", "evaluator", "expr", "template"] authors = ["fengcen "] @@ -18,3 +18,6 @@ path = "src/lib.rs" serde = "^0.8" serde_json = "^0.8" quick-error = "^1.1" + +[features] +unstable = [] diff --git a/README.md b/README.md index 6c23dd0..586caf6 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ eval -=== -[![docs](https://docs.rs/eval/badge.svg?version=0.3.0 "docs")](https://docs.rs/eval) +==== +[![docs](https://docs.rs/eval/badge.svg?version=0.3.1 "docs")](https://docs.rs/eval) Eval is a powerful expression evaluator. diff --git a/src/lib.rs b/src/lib.rs index f2b680b..637cdf6 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -92,8 +92,7 @@ //! #![recursion_limit="100"] #![deny(missing_docs)] -#![feature(proc_macro, test)] -extern crate test; +#![cfg_attr(feature = "unstable", feature(test))] #[macro_use] extern crate quick_error; @@ -135,7 +134,6 @@ type Compiled = Box Result>; #[cfg(test)] mod tests { - use test; use serde_json::to_value; use error::Error; use Expr; @@ -542,7 +540,13 @@ mod tests { assert_eq!(tree.parse_node(), Err(Error::CommaNotWithFunction)); } +} +#[cfg(all(feature = "unstable", test))] +mod benches { + extern crate test; + use eval; + use tree::Tree; #[bench] fn bench_deep_brackets(b: &mut test::Bencher) {