#![allow(non_camel_case_types)]
#![allow(clippy::missing_safety_doc)]
#[doc(hidden)]
pub mod wrapper;
#[doc(hidden)]
pub mod codegen_runtime;
mod alloc;
#[macro_use]
pub mod types;
mod term;
pub use crate::term::Term;
pub use crate::types::{
Atom, Binary, Decoder, Encoder, ErlOption, ListIterator, LocalPid, MapIterator, NewBinary,
OwnedBinary,
};
#[cfg(feature = "big_integer")]
pub use crate::types::BigInt;
pub mod resource;
pub use crate::resource::ResourceArc;
#[doc(hidden)]
pub mod dynamic;
pub use crate::dynamic::TermType;
pub mod schedule;
pub use crate::schedule::SchedulerFlags;
pub mod env;
pub use crate::env::{Env, OwnedEnv};
pub mod thread;
pub use crate::thread::{spawn, JobSpawner, ThreadSpawner};
pub mod error;
pub use crate::error::Error;
pub mod r#return;
pub use crate::r#return::Return;
#[doc(hidden)]
mod nif;
pub use nif::Nif;
pub type NifResult<T> = Result<T, Error>;
#[cfg(feature = "derive")]
pub use rustler_codegen::{
init, nif, NifException, NifMap, NifRecord, NifStruct, NifTaggedEnum, NifTuple, NifUnitEnum,
NifUntaggedEnum,
};
#[cfg(feature = "serde")]
pub mod serde;
#[cfg(feature = "serde")]
pub use crate::serde::SerdeTerm;