1.1 KiB
Features
Decodal keeps the embedded core small by making heavy functionality opt-in.
Core defaults
decodal-core defaults to std only.
[features]
default = ["std"]
std = []
regex = ["std", "dep:regex"]
Building decodal-core with --no-default-features keeps the core in no_std + alloc mode and avoids optional dependencies.
Regex
Regex constraints are implemented behind the regex feature.
When the feature is disabled, regex constraints parse and compose, but validating a concrete value against them returns an unsupported feature diagnostic.
cargo run -q -p decodal --features regex -- examples/regex/main.dcdl
Regex constraints are accumulated during & composition.
The implementation does not try to prove whether the intersection of two regex constraints is empty.
Concrete strings must match every regex constraint attached to the abstract value.
CLI features
decodal-cli exposes a matching regex feature that enables decodal-core/regex.
The feature is not enabled by default so the default CLI binary remains small.