# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies
#
# If you believe there's an error in this file please file an
# issue against the rust-lang/cargo repository. If you're
# editing this file be aware that the upstream Cargo.toml
# will likely look very different (and much more reasonable)

[package]
edition = "2018"
name = "backtrace"
version = "0.3.42"
authors = ["The Rust Project Developers"]
autoexamples = true
autotests = true
description = "A library to acquire a stack trace (backtrace) at runtime in a Rust program.\n"
homepage = "https://github.com/rust-lang/backtrace-rs"
documentation = "https://docs.rs/backtrace"
readme = "README.md"
license = "MIT/Apache-2.0"
repository = "https://github.com/rust-lang/backtrace-rs"

[[example]]
name = "backtrace"
required-features = ["std"]

[[example]]
name = "raw"
required-features = ["std"]

[[test]]
name = "skip_inner_frames"
required-features = ["std"]

[[test]]
name = "long_fn_name"
required-features = ["std"]

[[test]]
name = "smoke"
required-features = ["std"]
edition = "2018"

[[test]]
name = "accuracy"
required-features = ["std", "dbghelp", "libbacktrace", "libunwind"]
edition = "2018"

[[test]]
name = "concurrent-panics"
harness = false
required-features = ["std"]
[dependencies.addr2line]
version = "0.11.0"
features = ["std"]
optional = true
default-features = false

[dependencies.backtrace-sys]
version = "0.1.32"
optional = true

[dependencies.cfg-if]
version = "0.1.6"

[dependencies.compiler_builtins]
version = "0.1.2"
optional = true

[dependencies.core]
version = "1.0.0"
optional = true
package = "rustc-std-workspace-core"

[dependencies.cpp_demangle]
version = "0.2.3"
optional = true
default-features = false

[dependencies.findshlibs]
version = "0.5.0"
optional = true

[dependencies.goblin]
version = "0.1.3"
features = ["elf32", "elf64", "mach32", "mach64", "pe32", "pe64", "std"]
optional = true
default-features = false

[dependencies.libc]
version = "0.2.45"
default-features = false

[dependencies.memmap]
version = "0.7.0"
optional = true

[dependencies.rustc-demangle]
version = "0.1.4"

[dependencies.rustc-serialize]
version = "0.3"
optional = true

[dependencies.serde]
version = "1.0"
features = ["derive"]
optional = true

[features]
coresymbolication = []
dbghelp = []
default = ["std", "libunwind", "libbacktrace", "dladdr", "dbghelp"]
dladdr = []
gimli-symbolize = ["addr2line", "findshlibs", "memmap", "goblin"]
kernel32 = []
libbacktrace = ["backtrace-sys"]
libunwind = []
rustc-dep-of-std = ["backtrace-sys/rustc-dep-of-std", "cfg-if/rustc-dep-of-std", "core", "compiler_builtins", "libc/rustc-dep-of-std", "rustc-demangle/rustc-dep-of-std"]
serialize-rustc = ["rustc-serialize"]
serialize-serde = ["serde"]
std = []
unix-backtrace = []
verify-winapi = ["winapi/dbghelp", "winapi/handleapi", "winapi/libloaderapi", "winapi/minwindef", "winapi/processthreadsapi", "winapi/synchapi", "winapi/winbase", "winapi/winnt"]
[target."cfg(windows)".dependencies.winapi]
version = "0.3.3"
optional = true
