snafu 0.7.5

An ergonomic error handling library
Documentation
[package]
name = "snafu"
version = "0.7.5"
authors = ["Jake Goulding <jake.goulding@gmail.com>"]
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 }