Skip to main content

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(
19        feature = "panicking",
20        all(
21            any(feature = "panic", feature = "panic-handler-dummy"),
22            not(feature = "libc")
23        )
24    ),
25    feature(core_intrinsics)
26)]
27#![cfg_attr(feature = "panic-handler", feature(thread_local))]
28#![no_std]
29
30#[cfg(feature = "alloc")]
31extern crate alloc;
32
33#[cfg(feature = "unwinder")]
34mod unwinder;
35
36#[cfg(all(feature = "unwinder", feature = "fde-custom"))]
37pub use unwinder::custom_eh_frame_finder;
38
39pub mod abi;
40
41mod arch;
42mod util;
43
44#[cfg(feature = "print")]
45pub mod print;
46
47#[cfg(feature = "personality")]
48mod personality;
49#[cfg(all(not(feature = "personality"), feature = "personality-dummy"))]
50mod personality_dummy;
51
52#[cfg(feature = "panic")]
53pub mod panic;
54#[cfg(feature = "panicking")]
55pub mod panicking;
56
57#[cfg(feature = "panic-handler")]
58mod panic_handler;
59#[cfg(all(not(feature = "panic-handler"), feature = "panic-handler-dummy"))]
60mod panic_handler_dummy;
61
62#[cfg(feature = "system-alloc")]
63mod system_alloc;