[package]
edition = "2021"
rust-version = "1.88"
name = "whichever"
version = "0.7.1"
build = false
exclude = [
"/smoke",
"/benchmarks",
"/docs",
"/.github",
"/rust-toolchain.toml",
"/notes",
"/CLAUDE.md",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Implements a trait for an enum by forwarding to whichever variant it holds"
documentation = "https://docs.rs/whichever"
readme = "README.md"
keywords = [
"enum",
"dispatch",
"delegation",
"forwarding",
"enum_dispatch",
]
categories = ["rust-patterns"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/shergin/whichever"
[features]
default = ["renamed-dependency"]
renamed-dependency = ["whichever-macros/renamed-dependency"]
[lib]
name = "whichever"
path = "src/lib.rs"
[[example]]
name = "shapes"
path = "examples/shapes.rs"
[[test]]
name = "behaviour"
path = "tests/behaviour/main.rs"
[[test]]
name = "compile_fail"
path = "tests/compile_fail.rs"
[[test]]
name = "expand"
path = "tests/expand.rs"
[dependencies.whichever-macros]
version = "=0.7.1"
[dev-dependencies.async-trait]
version = "0.1"
[dev-dependencies.macrotest]
version = "1"
[dev-dependencies.pollster]
version = "0.4"
[dev-dependencies.trybuild]
version = "1"
[profile.bench-lto]
lto = "fat"
codegen-units = 1
inherits = "bench"