Describe the bug
Both the datafusion core crate and datafusion-functions crate have a default feature for crypto_expressions.
datafusion/core/Cargo.toml
crypto_expressions = ["datafusion-functions/crypto_expressions"]
default = [
"array_expressions",
"crypto_expressions",
...
datafusion/functions/Cargo.toml
crypto_expressions = ["md-5", "sha2", "blake2", "blake3"]
...
default = [
"core_expressions",
...
"crypto_expressions",
...
If I disable all features from DataFusion when importing the crate in my project, the crypto_expressions dependencies are still enabled because datafusion-functions enables them by default.
To Reproduce
cargo new --bin df_crypto
cd df_crypto
cargo add datafusion --no-default-features
cargo build
cat Cargo.lock | grep blake2
Expected behavior
Disabling default features from the core crate should not get re-enabled by default elsewhere.
Additional context
I will submit a PR to fix this.