Closed as not planned
Description
Bug Description
Optional features are unexpectedly activated
Minimal Reproduction
- Create empty project
$ cargo new deps-test
$ cd deps-test
$ cargo add sqlx
- Specify the features in the dependencies section:
[dependencies]
sqlx = { version = "0.7.3", default-features = false, features = [
"runtime-tokio-rustls",
"postgres"
] }
All is good, the Cargo.lock
does not include unnecessary clutter (even though sqlx-macros
is already there):
[[package]]
name = "sqlx"
version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dba03c279da73694ef99763320dea58b51095dfe87d001b1d4b5fe78ba8763cf"
dependencies = [
"sqlx-core",
"sqlx-macros",
"sqlx-postgres",
]
- Add the
uuid
feature:
[dependencies]
sqlx = { version = "0.7.3", default-features = false, features = [
"runtime-tokio-rustls",
"postgres",
"uuid"
] }
Check the Cargo.lock
again. There are now sqlite and mysql listed while they were not expected?
[[package]]
name = "sqlx"
version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dba03c279da73694ef99763320dea58b51095dfe87d001b1d4b5fe78ba8763cf"
dependencies = [
"sqlx-core",
"sqlx-macros",
"sqlx-mysql",
"sqlx-postgres",
"sqlx-sqlite",
]
Info
- SQLx version: 0.7.3
- SQLx features enabled: See example
- Database server and version: Postgres
- Operating system: Fedora 39
rustc --version
: 1.74.0