[package]
name = "tor-error"
version = "0.27.0"
authors = ["Ian Jackson <iwj@torproject.org>"]
edition = "2021"
rust-version = "1.77"
license = "MIT OR Apache-2.0"
homepage = "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home"
description = "Provides the unified type-erased error type returned by many (esp. high-level) Tor APIs."
keywords = ["tor", "arti"]
repository = "https://gitlab.torproject.org/tpo/core/arti.git/"
categories = ["rust-patterns"]

[features]
default = ["backtrace", "futures"]
full = ["backtrace", "futures", "tracing", "retry-error/full"]

experimental = ["experimental-api", "rpc"]
experimental-api = ["rpc", "__is_experimental"]

rpc = ["__is_experimental"]

tracing = ["dep:tracing", "static_assertions"]

__is_experimental = []

backtrace = []

[dependencies]
derive_more = { version = "1.0.0", features = ["full"] }
futures = { version = "0.3", optional = true }
once_cell = "1"
paste = "1"
retry-error = { path = "../retry-error", version = "0.6.1" } # WRONG should be 0.4.3
static_assertions = { version = "1", optional = true }
strum = { version = "0.26.3", features = ["derive"] }
thiserror = "2"
tracing = { version = "0.1.36", optional = true }
void = "1"

[dev-dependencies]
anyhow = "1.0.72"
tracing-test = "0.2.4"

[package.metadata.docs.rs]
all-features = true
