1#![allow(non_camel_case_types)]
2#![allow(clippy::missing_safety_doc)]
3
4#[doc(hidden)]
27pub mod wrapper;
28
29#[doc(hidden)]
30pub mod codegen_runtime;
31
32mod alloc;
33pub use crate::alloc::EnifAllocator;
34
35#[macro_use]
36pub mod types;
37
38mod term;
39
40pub use crate::term::Term;
41pub use crate::types::{
42 Atom, Binary, Decoder, Encoder, ErlOption, ListIterator, LocalPid, MapIterator, NewBinary,
43 OwnedBinary, Reference,
44};
45
46#[cfg(feature = "big_integer")]
47pub use crate::types::BigInt;
48
49mod resource;
50pub use crate::resource::{Monitor, Resource, ResourceArc, ResourceInitError};
51
52#[doc(hidden)]
53pub mod dynamic;
54pub use crate::dynamic::TermType;
55
56pub mod schedule;
57pub use crate::schedule::SchedulerFlags;
58pub mod env;
59pub use crate::env::{Env, OwnedEnv};
60pub mod thread;
61pub use crate::thread::{spawn, JobSpawner, ThreadSpawner};
62
63pub mod error;
64pub use crate::error::Error;
65
66pub mod r#return;
67pub use crate::r#return::Return;
68
69#[doc(hidden)]
70mod nif;
71pub use nif::Nif;
72
73pub type NifResult<T> = Result<T, Error>;
74
75pub use rustler_codegen::{
76 init, nif, resource_impl, NifException, NifMap, NifRecord, NifStruct, NifTaggedEnum, NifTuple,
77 NifUnitEnum, NifUntaggedEnum,
78};
79
80#[cfg(feature = "serde")]
81pub mod serde;
82
83#[cfg(feature = "serde")]
84pub use crate::serde::SerdeTerm;
85
86pub mod sys;