Cargo Features

savefile = { version = "0.17.6", default-features = false, features = ["bit-set", "serde_derive", "size_sanity_checks", "nightly", "rust1_78", "compression", "encryption", "derive", "arrayvec", "smallvec", "indexmap", "parking_lot", "rustc-hash", "quickcheck"] }
default = arrayvec, bit-set, bit-vec, indexmap, parking_lot, smallvec

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

bit-set default = bit-vec

Enables bit-set ^0.5

serde_derive = serde

Enables serde_derive


Enable this to reduce risk of crashing on corrupt input. Provides sanity checks for sizes of objects.
This is mostly to be able to run fuzzers against the deserializers without them being guaranteed to easily find out-of-memory crashes.


Use features only available on the nightly rust-compiler.
Enabling this provides slightly better introspection support.
Automatically set by for nightly compilers


Rust version is > 1.78
Automatically set by

compression = bzip2
encryption = rand, ring

Enables savefile-derive

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.

bit-vec default bit-set

Enables bit-vec ^0.6

arrayvec default
smallvec default
indexmap default

Enables indexmap ^1.9

parking_lot default

Affects savefile::IntrospectItemMutex, savefile::IntrospectItemRwLock

ring encryption?

Enables ring ^0.16.9

rand encryption?
bzip2 compression?
rustc-hash implicit feature

Enables rustc-hash ^1.1


A speedy, non-cryptographic hashing algorithm used by rustc

serde serde_derive?
quickcheck implicit feature

Enables quickcheck


Automatic property based testing with shrinking