unwinding/
lib.rs

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