Cargo Features

Heapless has no features set by default.

[dependencies]
heapless = { version = "0.9.3", features = ["bytes", "portable-atomic", "portable-atomic-critical-section", "portable-atomic-unsafe-assume-single-core", "serde", "ufmt", "defmt", "zeroize", "embedded-io-v0.7", "mpmc_large", "alloc", "nightly"] }
bytes

Enables bytes

portable-atomic portable-atomic-critical-section? portable-atomic…assume-single-core?

Enable polyfilling of atomics via portable-atomic. portable-atomic polyfills some functionality by default, but to get full atomics you must enable one of its features to tell it how to do it. See portable-atomic documentation for details.

Enables portable-atomic

Affects heapless::spsc, pool::arc, heapless::mpmc, heapless::pool

portable-atomic-critical-section = portable-atomic

Enable polyfilling of atomics via portable-atomic, using critical section for locking

Enables critical-section of portable-atomic

portable-atomic-unsafe-assume-single-core = portable-atomic

Enable polyfilling of atomics via portable-atomic, using disabling interrupts for locking.
WARNING: this is only sound for single-core bare-metal privileged-mode targets!

Enables unsafe-assume-single-core of portable-atomic

serde

implement serde traits.

Enables serde_core

ufmt

implement ufmt traits.

Enables ufmt and ufmt-write

defmt

Implement defmt::Format.

Enables defmt

zeroize

Implement zeroize::Zeroize trait.

Enables zeroize

Affects len_type::LenType

embedded-io-v0.7

Implement embedded_io::Write

Enables embedded-io

mpmc_large

Enable larger MPMC sizes.

Affects heapless::mpmc

alloc

Implement some alloc Vec interoperability

nightly

Affects heapless::pool