/rust/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/backtrace.rs
Line | Count | Source |
1 | | #[cfg(feature = "std")] |
2 | | pub(crate) use std::backtrace::Backtrace; |
3 | | |
4 | | #[cfg(not(feature = "std"))] |
5 | | pub(crate) enum Backtrace {} |
6 | | |
7 | | #[cfg(feature = "std")] |
8 | | macro_rules! backtrace { |
9 | | () => { |
10 | | Some(std::backtrace::Backtrace::capture()) |
11 | | }; |
12 | | } |
13 | | |
14 | | #[cfg(not(feature = "std"))] |
15 | | macro_rules! backtrace { |
16 | | () => { |
17 | | None |
18 | | }; |
19 | | } |
20 | | |
21 | | #[cfg(error_generic_member_access)] |
22 | | macro_rules! backtrace_if_absent { |
23 | | ($err:expr) => { |
24 | | match $crate::nightly::request_ref_backtrace($err as &dyn core::error::Error) { |
25 | | Some(_) => None, |
26 | | None => backtrace!(), |
27 | | } |
28 | | }; |
29 | | } |
30 | | |
31 | | #[cfg(all(not(error_generic_member_access), feature = "std"))] |
32 | | macro_rules! backtrace_if_absent { |
33 | | ($err:expr) => { |
34 | | backtrace!() |
35 | | }; |
36 | | } |
37 | | |
38 | | #[cfg(all(not(anyhow_no_core_error), not(feature = "std")))] |
39 | | macro_rules! backtrace_if_absent { |
40 | | ($err:expr) => { |
41 | | None |
42 | | }; |
43 | | } |
44 | | |
45 | 0 | fn _assert_send_sync() { |
46 | 0 | fn assert<T: Send + Sync>() {} |
47 | 0 | assert::<Backtrace>(); |
48 | 0 | } |