Cargo Features

punktf-lib = { version = "2.0.1", default-features = false, features = ["profile-all", "profile-json", "profile-yaml"] }
default = profile-all

The profile-all feature is set by default whenever punktf-lib is added without default-features = false somewhere in the dependency tree.

profile-all default = profile-json, profile-yaml
profile-json profile-all = serde_json
profile-yaml profile-all = serde_yaml

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.

serde_json profile-json?

Enables serde_json

Optional dependencies can not be in the workspace dependencies

serde_yaml profile-yaml?