unwinding/
lib.rs

1#![doc = include_str!("../README.md")]
2// We use `non_exhaustive_omitted_patterns_lint` which is a nightly lint.
3#![allow(unknown_lints)]
4#![cfg_attr(
5    any(
6        feature = "personality",
7        feature = "personality-dummy",
8        feature = "panicking",
9        feature = "panic-handler-dummy"
10    ),
11    allow(internal_features)
12)]
13#![cfg_attr(
14    any(feature = "personality", feature = "personality-dummy"),
15    feature(lang_items)
16)]
17#![cfg_attr(
18    any(feature = "panicking", feature = "panic-handler-dummy"),
19    feature(core_intrinsics)
20)]
21#![cfg_attr(feature = "panic-handler", feature(thread_local))]
22#![no_std]
23
24#[cfg(feature = "alloc")]
25extern crate alloc;
26
27#[cfg(feature = "unwinder")]
28mod unwinder;
29
30#[cfg(all(feature = "unwinder", feature = "fde-custom"))]
31pub use unwinder::custom_eh_frame_finder;
32
33pub mod abi;
34
35mod arch;
36mod util;
37
38#[cfg(feature = "print")]
39pub mod print;
40
41#[cfg(feature = "personality")]
42mod personality;
43#[cfg(all(not(feature = "personality"), feature = "personality-dummy"))]
44mod personality_dummy;
45
46#[cfg(feature = "panic")]
47pub mod panic;
48#[cfg(feature = "panicking")]
49pub mod panicking;
50
51#[cfg(feature = "panic-handler")]
52mod panic_handler;
53#[cfg(all(not(feature = "panic-handler"), feature = "panic-handler-dummy"))]
54mod panic_handler_dummy;
55
56#[cfg(feature = "system-alloc")]
57mod system_alloc;