[package] name = "snafu" version = "0.7.5" authors = ["Jake Goulding "] edition = "2018" readme = "README.md" description = "An ergonomic error handling library" documentation = "https://docs.rs/snafu" repository = "https://github.com/shepmaster/snafu" license = "MIT OR Apache-2.0" keywords = ["error", "ergonomic", "library", "no_std"] categories = ["rust-patterns", "no-std"] exclude = [ "/.cirrus.yml", "/.gitignore", "/rust-toolchain", ] [package.metadata.docs.rs] # The backtraces-impl-* features are incompatible with each other features = [ "std", "backtraces", "futures", "guide" ] [features] default = ["std", "rust_1_46"] # Implement the `std::error::Error` trait. std = [] # Implement the `core::error::Error` trait. unstable-core-error = [] # Add support for `async` / `.await` rust_1_39 = ["snafu-derive/rust_1_39"] # Add support for `#[track_caller]` rust_1_46 = ["rust_1_39", "snafu-derive/rust_1_46"] # Add support for `Termination` for `Report` rust_1_61 = ["rust_1_46", "snafu-derive/rust_1_61"] # Makes the backtrace type live backtraces = ["std", "backtrace"] # The backtrace type becomes `backtrace::Backtrace` backtraces-impl-backtrace-crate = ["backtraces"] # We implement `std::error::Error::backtrace` unstable-backtraces-impl-std = ["backtraces-impl-std", "snafu-derive/unstable-backtraces-impl-std"] # The backtrace type becomes `std::backtrace::Backtrace` backtraces-impl-std = [] # The std::error::Error provider API will be implemented. unstable-provider-api = ["snafu-derive/unstable-provider-api"] # Add support for `FromResidual` for `Report` unstable-try-trait = [] # The standard library's implementation of futures futures = ["futures-core-crate", "pin-project"] # Include the built-in user guide documentation guide = [] # No public user should make use of this feature # https://github.com/rust-lang/cargo/issues/1596 "internal-dev-dependencies" = ["futures-crate"] [workspace] # The compatibility tests each set feature flags for the library and # cannot be in the same crate graph. exclude = ["compatibility-tests"] [dependencies] snafu-derive = { path = "snafu-derive", version = "0.7.5" } doc-comment = { version = "0.3.1", default-features = false } backtrace = { version = "0.3.0", optional = true } futures-crate = { package = "futures", version = "0.3.0", optional = true, default-features = false } futures-core-crate = { package = "futures-core", version = "0.3.0", optional = true, default-features = false } pin-project = { version = "1.0", optional = true, default-features = false }