oopsie 0.1.0-rc.20

Ergonomic, structured error handling: context selectors, traced errors, and rich colorized reports
Documentation
[package]
name = "oopsie"
version = "0.1.0-rc.20"
edition.workspace = true
authors.workspace = true
rust-version.workspace = true
description = "Ergonomic, structured error handling: context selectors, traced errors, and rich colorized reports"
license.workspace = true
repository.workspace = true
readme.workspace = true
keywords.workspace = true
categories.workspace = true

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

[features]
default = ["std"]
std = ["oopsie-core/std", "serde_json?/std"]
unstable-error-generic-member-access = [
    "oopsie-macros/unstable-error-generic-member-access",
    "oopsie-core/unstable-error-generic-member-access",
]
unstable-try-trait-v2 = []
unstable = [
    "unstable-error-generic-member-access",
    "unstable-try-trait-v2",
    "oopsie-core/unstable",
]
fancy = ["std", "dep:owo-colors", "dep:linkme"]
serde = ["oopsie-core/serde", "dep:serde_json"]
tracing = ["std", "oopsie-core/tracing"]
chrono = ["std", "oopsie-core/chrono"]
jiff = ["std", "oopsie-core/jiff"]
extras = ["std", "oopsie-core/extras"]
settings = ["oopsie-macros/settings"]

[dependencies]
linkme = { version = "0.3.36", optional = true }
oopsie-core = { workspace = true }
oopsie-macros = { workspace = true }
owo-colors = { version = "4", optional = true }
serde_json = { version = "1", default-features = false, features = [
    "alloc",
], optional = true }

[lints]
workspace = true

[dev-dependencies]
anyhow = "1.0.102"
backtrace = "0.3.76"
chrono = "0.4.44"
color-eyre = "0.6.5"
criterion = "0.8.2"
eyre = "0.6.12"
insta = { version = "1.46.3", features = ["filters", "json", "redactions"] }
miette = { version = "7.6.0", features = ["fancy"] }
oopsie-core = { workspace = true, features = ["test-utils"] }
rstest = "0.26.1"
rustversion = "1.0.22"
serde_json = "1"
snafu = { version = "0.9.1", features = ["backtrace"] }
strip-ansi-escapes = "0.2.1"
test-with = { version = "0.16.1", default-features = false }
thiserror = "2.0.18"
toml_edit = "0.25.12"
tracing = "0.1.44"
tracing-subscriber = { version = "0.3.22", features = ["env-filter"] }
trybuild = "1.0.116"

[[bench]]
name = "capture"
harness = false

[[bench]]
name = "construct"
harness = false

[[bench]]
name = "propagate"
harness = false

[[bench]]
name = "render"
harness = false
required-features = ["fancy"]

[[bench]]
name = "vs_ecosystem"
harness = false
required-features = ["fancy", "tracing"]

[[bench]]
name = "erased"
harness = false
required-features = ["serde"]

[[example]]
name = "erased_json"
required-features = ["serde"]

[[example]]
name = "welp"
required-features = ["fancy"]

[[example]]
name = "traced"
required-features = ["fancy"]

[[example]]
name = "panic_hook"
required-features = ["fancy", "tracing", "serde"]

[[example]]
name = "complete"
required-features = ["fancy", "tracing", "serde"]