auto_enums 0.7.4

A library for to allow multiple return types by automatically generated enum.
Documentation
[package]
name = "auto_enums"
version = "0.7.4"
authors = ["Taiki Endo <te316e89@gmail.com>"]
edition = "2018"
license = "Apache-2.0 OR MIT"
repository = "https://github.com/taiki-e/auto_enums"
homepage = "https://github.com/taiki-e/auto_enums"
documentation = "https://docs.rs/auto_enums"
keywords = ["enum", "macros", "derive", "attribute"]
categories = ["rust-patterns"]
readme = "README.md"
description = """
A library for to allow multiple return types by automatically generated enum.
"""

[package.metadata.docs.rs]
targets = ["x86_64-unknown-linux-gnu"]

[workspace]
members = ["core", "derive"]

[features]
# Default features.
default = ["std"]

# Analyze return type of function and `let` binding.
type_analysis = ["auto_enums_core/type_analysis"]

# Enable to use `transpose*` methods.
transpose_methods = ["auto_enums_derive/transpose_methods"]

# ==============================================================================
# [std|core] libraries

# Enable to use `std` library's traits.
std = ["auto_enums_derive/std"]
# Enable to use `[std|core]::ops`'s `Deref`, `DerefMut`, `Index`, `IndexMut`, and `RangeBounds` traits.
ops = ["auto_enums_derive/ops"]
# Enable to use `[std|core]::convert`'s `AsRef` and `AsMut` traits.
convert = ["auto_enums_derive/convert"]
# Enable to use `[std|core]::fmt`'s traits other than `Debug`, `Display` and `Write`
fmt = ["auto_enums_derive/fmt"]

# ==============================================================================
# Using external libraries

# https://docs.rs/futures/0.3
futures03 = ["auto_enums_derive/futures03"]
# https://docs.rs/futures/0.1
futures01 = ["auto_enums_derive/futures01"]
# https://docs.rs/futures/0.3
futures = ["auto_enums_derive/futures"]
# https://docs.rs/rayon/1
rayon = ["auto_enums_derive/rayon"]
# https://docs.rs/serde/1
serde = ["auto_enums_derive/serde"]
# https://docs.rs/tokio/0.2
tokio02 = ["auto_enums_derive/tokio02"]
# https://docs.rs/tokio/0.1
tokio01 = ["auto_enums_derive/tokio01"]

# ==============================================================================
# Unstable features
# These features are outside of the normal semver guarantees and require the
# `unstable` feature as an explicit opt-in to unstable API.
unstable = ["auto_enums_derive/unstable"]

# Enable unstable features of [std|core] libraries

# Enable to use `[std|core]::ops::Generator` trait.
generator_trait = ["auto_enums_derive/generator_trait"]
# Enable to use `[std|core]::ops`'s `Fn`, `FnMut`, and `FnOnce` traits.
fn_traits = ["auto_enums_derive/fn_traits"]
# Enable to use `[std|core]::iter::TrustedLen` trait.
trusted_len = ["auto_enums_derive/trusted_len"]

[dependencies]
auto_enums_core = { version = "=0.7.4", path = "core", default-features = false }
auto_enums_derive = { version = "=0.7.4", path = "derive", default-features = false }

[dev-dependencies]
trybuild = "1.0"

# for `#[enum_derive]`
futures03_crate = { version = "0.3", package = "futures", default-features = false, features = ["std"] }
futures01_crate = { version = "0.1", package = "futures" }
tokio02_crate = { version = "0.2", package = "tokio" }
tokio01_crate = { version = "0.1", package = "tokio" }
rayon_crate = { version = "1.2", package = "rayon" }
serde_crate = { version = "1.0", package = "serde" }

# for benches
rand = "0.7"