Cargo Features

[dependencies]
rkyv-test = { version = "0.7.39-test.1", default-features = false, features = ["std", "alloc", "arbitrary_enum_discriminant", "archive_be", "archive_le", "copy", "copy_unsafe", "size_16", "size_32", "size_64", "strict", "validation", "tinyvec_alloc", "uuid_std", "indexmap", "smallvec"] }
default = size_32, std

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

std default = alloc

Enables std of bytecheck ~0.6.8, ptr_meta ~0.1.3, and rend ~0.3.6

Affects rkyv-test::ffi

alloc std validation? = hashbrown

Affects de::SharedPointer, de::SharedDeserializeRegistry, niche::option_box, serializers::AllocSerializer, util::to_bytes, util::from_bytes_unchecked

arbitrary_enum_discriminant

Enables arbitrary_enum_discriminant of rkyv_derive_test

archive_be = rend

Enables archive_be of rkyv_derive_test

archive_le = rend

Enables archive_le of rkyv_derive_test

copy

Enables copy of rkyv_derive_test

Affects rkyv-test::copy

copy_unsafe

Affects copy::ArchiveCopyOptimize

size_16
size_32 default
size_64
strict

Enables strict of rkyv_derive_test

validation = alloc, bytecheck

Enables validation of rend ~0.3.6

Affects btree_map::validation, hash_index::validation, hash_map::validation, index_map::validation, util::validation, rkyv-test::validation

tinyvec_alloc

Enables alloc of tinyvec

tinyvec:

Provide things that utilize the alloc crate, namely TinyVec.

uuid_std

Enables std of uuid

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

bytecheck std validation?

Enables bytecheck ~0.6.8

hashbrown alloc?

Enables hashbrown ^0.12

rend archive_be? archive_le? std validation?

Enables rend ~0.3.6

indexmap implicit feature

Enables indexmap ^1.7

Support for various common crates. These are primarily to get users off the ground and build some momentum.

These are NOT PLANNED to remain in rkyv for the final release. Much like serde, these implementations should be moved into their respective crates over time. Before adding support for another crate, please consider getting rkyv support in the crate instead.

smallvec implicit feature

Enables smallvec

smallvec:

'Small vector' optimization: store up to a small number of items on the stack

tinyvec tinyvec_alloc?
uuid uuid_std?