When using the library, it is now possible for users to use default-features = false and code for the binary and its dependencies will not be included downstream.
The module format is now public because it is used in the binary, but its tests also require model, which is private to the lib.
An alternative to this approach would be to have no features enabled by default, in which case instead of cargo run, one must write cargo run --features=executable.
When using the library, it is now possible for users to use
default-features = false
and code for the binary and its dependencies will not be included downstream.The module
format
is now public because it is used in the binary, but its tests also requiremodel
, which is private to the lib.An alternative to this approach would be to have no features enabled by default, in which case instead of
cargo run
, one must writecargo run --features=executable
.