Cargo Features

[dependencies]
cobs = { version = "0.3.0", default-features = false, features = ["std", "alloc", "use_std", "defmt", "serde"] }
default = std

The std feature is set by default whenever cobs is added without default-features = false somewhere in the dependency tree.

std default use_std? = alloc

Enables std of thiserror

thiserror:

Std feature enables support for formatting std::path::{Path, PathBuf}
conveniently in an error message.

#[derive(Error, Debug)]
#[error("failed to create configuration file {path}")]
pub struct MyError {
pub path: PathBuf,
pub source: std::io::Error,
}

Without std, this would need to be written #[error("... {}", path.display())].

alloc std

Affects dec::decode_vec, dec::decode_vec_with_sentinel, enc::encode_vec, enc::encode_vec_with_sentinel

use_std = std

Legacy feature for backwards compatibility

Features from optional dependencies

defmt implicit feature
serde implicit feature

Enables serde

serde:

A generic serialization/deserialization framework