Cargo Features

[dependencies]
capnp = { version = "0.19.3", default-features = false, features = ["alloc", "rpc_try", "unaligned", "std", "sync_reader", "quickcheck", "embedded-io"] }
default = alloc, std

These default features are set whenever capnp is added without default-features = false somewhere in the dependency tree.

alloc default

Enables alloc of optional embedded-io

Affects any_pointer::Pipeline.hook, capability::Promise, capability::RemotePromise, capability::Response, capability::Request, capability::Params, capability::Results, capability::FromClientHook, capability::Client, capability::Server, capability::FromServer, capability::get_resolved_cap, capnp::Error.extra, message::TypedBuilder, message::HeapAllocator, message::ScratchSpaceHeapAllocator, layout::CapTable, serialize::read_message_from_flat_slice, serialize::BufferSegments, serialize::OwnedSegments

rpc_try
unaligned

If enabled, relaxes alignment requirements on segments.
This has a performance cost on some targets (e.g. ARMv6).

std default

If disabled, turns on no_std, which tells rustc to not link with the Rust standard library.

Enables std of optional embedded-io

sync_reader

If enabled, ReadLimiter will use AtomicUsize instead of Cell<usize>, allowing message readers to be Sync. Note that AtomicUsize is not supported by all rustc targets.

Features from optional dependencies

quickcheck implicit feature

Enables quickcheck

quickcheck:

Automatic property based testing with shrinking

embedded-io implicit feature

Enables embedded-io

embedded-io:

Embedded IO traits