# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.

[package]
name = "ohno"
description = "High-quality Rust error handling."
version = "0.3.4"
readme = "README.md"
keywords = ["oxidizer", "error", "backtrace"]
categories = ["data-structures"]

edition = { workspace = true }
rust-version = { workspace = true }
authors = { workspace = true }
license = { workspace = true }
homepage = { workspace = true }
repository = "https://github.com/microsoft/oxidizer/tree/main/crates/ohno"

[package.metadata.cargo_check_external_types]
allowed_external_types = ["ohno_macros::*"]

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

[features]
app-err = []
test-util = []

[dependencies]
ohno_macros = { workspace = true }
typeid = { workspace = true }

[dev-dependencies]
futures = { workspace = true }
insta = { workspace = true }
mutants = { workspace = true }
regex = { workspace = true, features = [ "unicode-perl"] }
testing_aids = { path = "../testing_aids" }
thiserror = { workspace = true }
tokio = { workspace = true, features = ["macros", "rt", "time", "rt-multi-thread"] }

[lints]
workspace = true

[[example]]
name = "app_err_automatic_conversion"
path = "examples/app/automatic_conversion.rs"
required-features = ["app-err"]

[[example]]
name = "app_err_backtrace"
path = "examples/app/backtrace.rs"
required-features = ["app-err"]

[[example]]
name = "bail"
path = "examples/app/bail.rs"
required-features = ["app-err"]

[[example]]
name = "app_err_construction"
path = "examples/app/construction.rs"
required-features = ["app-err"]

[[example]]
name = "app_err_enrichment"
path = "examples/app/enrich_err.rs"
required-features = ["app-err"]

[[example]]
name = "app_err_into_std_error"
path = "examples/app/into_std_error.rs"
required-features = ["app-err"]

[[example]]
name = "into_app_err"
path = "examples/app/into_app_err.rs"
required-features = ["app-err"]

[[example]]
name = "app-err_root_cause"
path = "examples/app/root_cause.rs"
required-features = ["app-err"]