1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
//! **Crate features**
//!
//! * `"alloc"`
//! Enabled by default. Disable to unlink `alloc` crate.

#![feature(allocator_api)]
#![feature(const_mut_refs)]
#![feature(const_trait_impl)]
#![feature(maybe_uninit_uninit_array)]
#![feature(never_type)]
#![cfg_attr(feature="logging", feature(panic_abort))]
#![feature(raw_ref_op)]
#![feature(slice_ptr_get)]
#![feature(slice_ptr_len)]
#![feature(strict_provenance)]

#![deny(warnings)]
#![doc(test(attr(deny(warnings))))]
#![doc(test(attr(allow(dead_code))))]
#![doc(test(attr(allow(unused_variables))))]
#![allow(clippy::collapsible_else_if)]

#![cfg_attr(not(feature="logging"), no_std)]

#[cfg(feature="logging")]
extern crate core;

#[cfg(feature="logging")]
extern crate panic_abort;

#[cfg(feature="global")]
extern crate alloc;

mod base;
pub use base::*;

pub mod fallbacked;

pub mod limited_up_to;

#[cfg(feature="global")]
mod global;
#[cfg(feature="global")]
pub use global::*;

mod as_global;
pub use as_global::*;

#[cfg(feature="logging")]
mod logging;
#[cfg(feature="logging")]
pub use logging::*;

#[cfg(all(not(target_os="dos"), windows, any(feature="winapi", feature="system")))]
mod winapi;
#[cfg(all(not(target_os="dos"), windows, feature="winapi"))]
pub use crate::winapi::*;

#[cfg(all(not(target_os="dos"), not(windows), any(feature="posix", feature="system")))]
mod posix;
#[cfg(all(not(target_os="dos"), not(windows), feature="posix"))]
pub use posix::*;

#[cfg(all(not(target_os="dos"), feature="system"))]
mod system;
#[cfg(all(not(target_os="dos"), feature="system"))]
pub use system::*;

mod impossible;
pub use impossible::*;

mod non_working;
pub use non_working::*;

pub mod stacked;

pub mod freelist;