declare 0.0.1

An error set macro that simplifies error management by providing a streamlined method for defining errors and easily converting between them. Inspired by Zig's error set type.
Documentation
[package]
name = "declare"
description = "An error set macro that simplifies error management by providing a streamlined method for defining errors and easily converting between them. Inspired by Zig's error set type."
categories = ["rust-patterns", "no-std"]
keywords = ["error", "error-handling", "macro", "error-set"]
version = "0.0.1"
edition = "2021"
license = "Apache-2.0"
documentation = "https://docs.rs/error_set"
repository = "https://github.com/mcmah309/error_set"
rust-version = "1.81"

[dependencies]
error_set_impl = { version = "=0.8.2", path = "impl" }

# features
tracing = { version = "0.1", optional = true }
log = { version = "0.4", optional = true }
defmt = { version = "0.3", optional = true }

[dev-dependencies]
trybuild = "^1.0.91"
tracing-test = { version = "0.2", features = ["no-env-filter"] }
lazy_static = "1"

[workspace]
members = ["impl", "test_no_std"]


[features]
default = []
# Enables support for the tracing crate. Adds methods to `Result` that are applied on `Err` - e.g. `result.warn(...)`.
tracing = ["dep:tracing"]
# Enables support for the log crate. Adds methods to `Result` that are applied on `Err` - e.g. `result.warn(...)`.
log = ["dep:log"]
# Enables support for the defmt crate, which works with no_std. Adds methods to `Result` that are applied on `Err` - e.g. `result.warn(...)`.
defmt = ["dep:defmt"]
# Enables support for the log/tracing/defmt api, without pulling in any crates. Allowing a downstream to choose the appropriate crate.
context_stub = []

[package.metadata.docs.rs]
all-features = false
features = ["tracing"]
rustdoc-args = ["--cfg", "docsrs"]