diff --git a/strum/Cargo.toml b/strum/Cargo.toml index 59ba2e84..38fecdf4 100644 --- a/strum/Cargo.toml +++ b/strum/Cargo.toml @@ -12,8 +12,14 @@ documentation = "https://docs.rs/strum" homepage = "https://github.com/Peternator7/strum" readme = "../README.md" +[dependencies] +strum_macros = { path = "../strum_macros", optional = true, version = "0.15.0" } + [dev-dependencies] strum_macros = { path = "../strum_macros", version = "0.15.0" } [badges] -travis-ci = { repository = "Peternator7/strum" } \ No newline at end of file +travis-ci = { repository = "Peternator7/strum" } + +[features] +derive = ["strum_macros"] diff --git a/strum/src/lib.rs b/strum/src/lib.rs index f566afaa..dd02217d 100644 --- a/strum/src/lib.rs +++ b/strum/src/lib.rs @@ -206,3 +206,12 @@ where pub trait EnumCount { fn count() -> usize; } + +#[cfg(feature = "derive")] +#[allow(unused_imports)] +#[macro_use] +extern crate strum_macros; + +#[cfg(feature = "derive")] +#[doc(hidden)] +pub use strum_macros::*; diff --git a/strum_tests/Cargo.toml b/strum_tests/Cargo.toml index 105ca710..aae5f2da 100644 --- a/strum_tests/Cargo.toml +++ b/strum_tests/Cargo.toml @@ -4,7 +4,7 @@ version = "0.15.0" authors = ["Peter Glotfelty "] [dependencies] -strum = { path = "../strum" } +strum = { path = "../strum", features = ["derive"] } strum_macros = { path = "../strum_macros", features = [] } clap = "2.33.0" structopt = "0.2.18" diff --git a/strum_tests/src/lib.rs b/strum_tests/src/lib.rs index ed73ccb4..0d646508 100644 --- a/strum_tests/src/lib.rs +++ b/strum_tests/src/lib.rs @@ -1,6 +1,8 @@ +#![allow(unused_imports)] extern crate strum; #[macro_use] extern crate strum_macros; +use strum::*; #[allow(dead_code)] #[derive(Debug, Eq, PartialEq, EnumString, ToString, EnumCount, EnumDiscriminants)] diff --git a/strum_tests/tests/enum_message.rs b/strum_tests/tests/enum_message.rs index 4e5415b6..bcde8bf7 100644 --- a/strum_tests/tests/enum_message.rs +++ b/strum_tests/tests/enum_message.rs @@ -1,3 +1,4 @@ +#![allow(unused_imports)] extern crate strum; #[macro_use] extern crate strum_macros; diff --git a/strum_tests/tests/enum_props.rs b/strum_tests/tests/enum_props.rs index 7af0aec0..b9b9fc29 100644 --- a/strum_tests/tests/enum_props.rs +++ b/strum_tests/tests/enum_props.rs @@ -1,3 +1,4 @@ +#![allow(unused_imports)] extern crate strum; #[macro_use] extern crate strum_macros;