1#![allow(incomplete_features)]
2#![feature(step_trait)]
3#![feature(thread_local)]
4#![feature(allocator_api)]
5#![feature(never_type)]
6#![feature(associated_type_defaults)]
7#![feature(alloc_layout_extra)]
8#![feature(adt_const_params)]
9#![feature(generic_const_exprs)]
10
11extern crate mallockit_macros;
12pub extern crate spin;
13
14#[macro_use]
15pub mod util;
16pub mod mutator;
17pub mod plan;
18pub mod space;
19pub mod stat;
20pub mod worker;
21
22pub use ctor::ctor;
23pub use libc;
24pub use mallockit_macros::*;
25pub use mutator::Mutator;
26pub use plan::Plan;
27
28#[cfg(not(target_pointer_width = "64"))]
29const ERROR: ! = "32-bit is not supported";
30
31#[cfg(not(any(
32 all(target_os = "linux", target_arch = "x86_64"),
33 all(target_os = "linux", target_arch = "aarch64"),
34 all(target_os = "macos", target_arch = "x86_64"),
35 all(target_os = "macos", target_arch = "aarch64"),
36)))]
37const ERROR: ! = r#"
38 ❌ Unsupported Platform.
39 Only the following platforms are supported:
40 Linux (x86_64), macOS (x86_64), Linux (aarch64).
41"#;