diff --git a/Cargo.toml b/Cargo.toml index 00bad5c..1734c88 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -29,7 +29,7 @@ alloc = [] std = [] clock = ["time", "std"] wasmbind = ["wasm-bindgen", "js-sys"] -__internal_bench = ["criterion"] +__internal_bench = [] [dependencies] time = { version = "0.1.39", optional = true } @@ -37,8 +37,6 @@ num-integer = { version = "0.1.36", default-features = false } num-traits = { version = "0.2", default-features = false } rustc-serialize = { version = "0.3.20", optional = true } serde = { version = "1.0.99", default-features = false, optional = true } -# technically a dev-dependency, but they can't be optional -criterion = { version = "0.3", optional = true} [target.'cfg(all(target_arch = "wasm32", not(any(target_os = "emscripten", target_os = "wasi"))))'.dependencies] wasm-bindgen = { version = "0.2", optional = true } @@ -49,16 +47,17 @@ serde_json = { version = "1", default-features = false } serde_derive = { version = "1", default-features = false } bincode = { version = "0.8.0" } num-iter = { version = "0.1.35", default-features = false } +criterion = { version = "0.3" } doc-comment = "0.3" [target.'cfg(all(target_arch = "wasm32", not(any(target_os = "emscripten", target_os = "wasi"))))'.dev-dependencies] wasm-bindgen-test = "0.2" [package.metadata.docs.rs] -all-features = true +features = ["serde"] [package.metadata.playground] -all-features = true +features = ["serde"] [[bench]] name = "chrono" diff --git a/benches/chrono.rs b/benches/chrono.rs index 1bd66af..eede85c 100644 --- a/benches/chrono.rs +++ b/benches/chrono.rs @@ -6,7 +6,7 @@ extern crate criterion; use criterion::{black_box, criterion_group, criterion_main, Criterion}; use chrono::prelude::*; -use chrono::{Utc, FixedOffset, DateTime, YearFlags}; +use chrono::{Utc, FixedOffset, DateTime, __BenchYearFlags}; fn bench_datetime_parse_from_rfc2822(c: &mut Criterion) { c.bench_function("bench_datetime_parse_from_rfc2822", |b| { @@ -56,7 +56,7 @@ fn bench_year_flags_from_year(c: &mut Criterion) { c.bench_function("bench_year_flags_from_year", |b| b.iter(|| { for year in -999i32..1000 { - YearFlags::from_year(year); + __BenchYearFlags::from_year(year); } })); } diff --git a/src/lib.rs b/src/lib.rs index 12d24f7..9d85371 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -477,10 +477,7 @@ pub mod naive { //! (e.g. [`TimeZone`](../offset/trait.TimeZone.html)), //! but can be also used for the simpler date and time handling. - #[cfg(not(feature = "__internal_bench"))] mod internals; - #[cfg(feature = "__internal_bench")] - pub mod internals; mod date; mod isoweek; mod time; @@ -494,6 +491,10 @@ pub mod naive { #[allow(deprecated)] pub use self::datetime::rustc_serialize::TsSeconds; + #[cfg(feature = "__internal_bench")] + #[doc(hidden)] + pub use self::internals::YearFlags as __BenchYearFlags; + /// Serialization/Deserialization of naive types in alternate formats /// @@ -514,7 +515,8 @@ pub mod format; mod round; #[cfg(feature = "__internal_bench")] -pub use naive::internals::YearFlags; +#[doc(hidden)] +pub use naive::__BenchYearFlags; /// Serialization/Deserialization in alternate formats ///