memapi2 0.12.0

A no_std/no-alloc-friendly memory allocation interface for raw buffers, with improved error reporting.
Documentation
[package]
name = "memapi2"
version = "0.12.0"
edition = "2018"
rust-version = "1.46.0"
authors = ["echohumm"]
#noinspection LongLine
description = "A no_std/no-alloc-friendly memory allocation interface for raw buffers, with improved error reporting."
license = "GPL-3.0 OR MIT"
repository = "https://github.com/echohumm/memapi"
readme = "README.md"
keywords = ["allocator", "no_std", "no_alloc", "memory", "allocation"]
categories = ["no-std::no-alloc", "memory-management"]
include = [
    "src/**",
    "build.rs",
    "Cargo.toml",
    "README.md"
]
build = "build.rs"

[features]
default = []

# internal features for testing
__dev = []
# nightly support
## allows disabling allocator_api on nightly
no_nightly = []
## allows disabling the usage of the alloc crate
no_alloc = []

metadata = []

# std support
std = []

# allocator support
## the standard c allocator
c_alloc = []
## c alloca-based allocator
stack_alloc = ["alloc_temp_trait", "c_alloc", "cc"]
## adds a trait for temporary, scoped allocations
alloc_temp_trait = []
alloc_checked_trait = []
wip_data_trait = []

# actual features
## support best-effort os error reporting from errno
os_err_reporting = ["std"]
## adds support for catching unwinds to stack_alloc
catch_unwind = ["stack_alloc", "std"]
## stdlib datatype replacements
wip_stdlib_data = []

# feature bundles
full = ["c_alloc", "alloc_checked_trait", "stack_alloc"]
full_std = ["full", "catch_unwind", "os_err_reporting"]
full_nightly = ["metadata", "full"]
full_nightly_std = ["full_nightly", "full_std"]



[package.metadata.docs.rs]
features = ["full"]

[badges]
docsrs = { status = "passing" }
maintenance = { status = "actively-developed" }

[[test]]
name = "alc"
path = "tests/alloc.rs"

[[test]]
name = "malc"
path = "tests/alloc_mut.rs"

[[test]]
name = "stk"
path = "tests/stack_alloc.rs"
required-features = ["stack_alloc"]

[[test]]
name = "zst"
path = "tests/zst_alloc.rs"

[[test]]
name = "c_zst"
path = "tests/c_zst_alloc.rs"

# todo: stack zst alloc tests

[[test]]
name = "c_alc"
path = "tests/c_alloc.rs"

[[test]]
name = "hlp"
path = "tests/helpers.rs"

[[test]]
name = "lyt"
path = "tests/layout.rs"

[dependencies]
bitflags = "=1.3.2"
libc = { version = "=0.2.163", default-features = false }
rustversion = "=1.0.22"

[build-dependencies]
cc = { version = "=1.0.83", optional = true }
libc = { version = "=0.2.163", default-features = false }
rustversion = "=1.0.22"



#[dev-dependencies]
#criterion = "0.8.1"
#
#[[bench]]
#name = "lyt"
#path = "benches/layout.rs"
#harness = false
#
#[[bench]]
#name = "alc"
#path = "benches/alloc.rs"
#harness = false
#
#[[bench]]
#name = "hlp"
#path = "benches/helpers.rs"
#harness = false