From 2d92cf7af0e08c4313ce09e0117393d759cb5287 Mon Sep 17 00:00:00 2001 From: Reinier Maas Date: Thu, 23 Jul 2026 17:13:44 +0200 Subject: [PATCH] Cargo: No default features, selectively enable features --- Cargo.lock | 114 +------------------------------------- Cargo.toml | 98 ++++++++++++++++---------------- clippy.toml | 2 +- workspace-hack/Cargo.toml | 18 +++--- 4 files changed, 62 insertions(+), 170 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 668797c..4867868 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -41,56 +41,12 @@ dependencies = [ "libc", ] -[[package]] -name = "anstream" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d" -dependencies = [ - "anstyle", - "anstyle-parse", - "anstyle-query", - "anstyle-wincon", - "colorchoice", - "is_terminal_polyfill", - "utf8parse", -] - [[package]] name = "anstyle" version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" -[[package]] -name = "anstyle-parse" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e" -dependencies = [ - "utf8parse", -] - -[[package]] -name = "anstyle-query" -version = "1.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" -dependencies = [ - "windows-sys 0.61.2", -] - -[[package]] -name = "anstyle-wincon" -version = "3.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" -dependencies = [ - "anstyle", - "once_cell_polyfill", - "windows-sys 0.61.2", -] - [[package]] name = "anyhow" version = "1.0.104" @@ -267,7 +223,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cffb0e931875b666fc4fcb20fee52e9bbd1ef836fd9e9e04ec21555f9f85f7ef" dependencies = [ "fastrand", - "gloo-timers", "tokio", ] @@ -388,10 +343,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1aa79e62e7697b8e29b513a68abacf485adcd1fe8284a4316c5ae868e6633327" dependencies = [ "iana-time-zone", - "js-sys", "num-traits", "serde", - "wasm-bindgen", "windows-link", ] @@ -438,10 +391,8 @@ version = "4.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f09628afdcc538b57f3c6341e9c8e9970f18e4a481690a64974d7023bd33548b" dependencies = [ - "anstream", "anstyle", "clap_lex", - "strsim", ] [[package]] @@ -477,12 +428,6 @@ version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c9ea0ac24bc397ab3c98583a3c9ba74fa56b09a4449bbe172b9b1ddb016027a" -[[package]] -name = "colorchoice" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570" - [[package]] name = "combine" version = "4.6.7" @@ -502,17 +447,6 @@ dependencies = [ "crossbeam-utils", ] -[[package]] -name = "console" -version = "0.16.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fe5f465a4f6fee88fad41b85d990f84c835335e85b5d9e6e63e0d06d28cba7c" -dependencies = [ - "encode_unicode", - "libc", - "windows-sys 0.61.2", -] - [[package]] name = "const-oid" version = "0.10.2" @@ -745,12 +679,6 @@ dependencies = [ "serde", ] -[[package]] -name = "encode_unicode" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" - [[package]] name = "equivalent" version = "1.0.2" @@ -1028,18 +956,6 @@ version = "0.32.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e629b9b98ef3dd8afe6ca2bd0f89306cec16d43d907889945bc5d6687f2f13c7" -[[package]] -name = "gloo-timers" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbb143cf96099802033e0d4f4963b19fd2e0b728bcf076cd9cf7f6634f092994" -dependencies = [ - "futures-channel", - "futures-core", - "js-sys", - "wasm-bindgen", -] - [[package]] name = "h2" version = "0.4.15" @@ -1425,7 +1341,6 @@ version = "1.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "86f0f8fee8c926415c58d6ae43a08523a26faccb2323f5e6b644fe7dd4ef6b82" dependencies = [ - "console", "once_cell", "similar", "tempfile", @@ -1437,12 +1352,6 @@ version = "2.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d98f6fed1fde3f8c21bc40a1abb88dd75e67924f9cffc3ef95607bad8017f8e2" -[[package]] -name = "is_terminal_polyfill" -version = "1.70.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" - [[package]] name = "itertools" version = "0.14.0" @@ -1994,12 +1903,6 @@ version = "1.21.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" -[[package]] -name = "once_cell_polyfill" -version = "1.70.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" - [[package]] name = "openssl-probe" version = "0.2.1" @@ -3391,12 +3294,6 @@ dependencies = [ "unicode-properties", ] -[[package]] -name = "strsim" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" - [[package]] name = "subtle" version = "2.6.1" @@ -3810,10 +3707,8 @@ checksum = "adbc64cba7137545b8044cb1fe9814f7aacf3c6b5f9b45be8bb5db538befdb26" dependencies = [ "js-sys", "opentelemetry", - "smallvec", "tracing", "tracing-core", - "tracing-log", "tracing-subscriber", "web-time", ] @@ -3981,12 +3876,6 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" -[[package]] -name = "utf8parse" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" - [[package]] name = "uuid" version = "1.24.0" @@ -4361,10 +4250,10 @@ checksum = "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e" name = "workspace-hack" version = "0.1.0" dependencies = [ + "anyhow", "aws-lc-rs", "base64", "bitflags", - "cc", "chrono", "crossbeam-epoch", "crossbeam-utils", @@ -4384,6 +4273,7 @@ dependencies = [ "opentelemetry", "opentelemetry-http", "opentelemetry_sdk", + "rand 0.10.2", "rand 0.9.5", "regex-automata", "regex-syntax", diff --git a/Cargo.toml b/Cargo.toml index 4baa149..205fd1d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -17,60 +17,60 @@ edition = "2024" version = "0.36.0" [workspace.dependencies] -anyhow = { version = "1.0.102" } -arc-swap = { version = "1.9.1" } -assert_matches = { version = "1.5.0" } -axum = { version = "0.8.9", features = ["ws", "macros"] } -axum-prometheus = { version = "0.10.0", features = ["prometheus"] } -backon = { version = "1.3.0", features = ["tokio-sleep"] } -chrono = { version = "0.4.44", features = ["serde"] } -ciborium = { version = "0.2.2", features = ["std"] } -clap = { version = "4.5.60", features = ["derive", "std"] } -criterion = { version = "0.8", features = ["async_tokio"] } -crossbeam-skiplist = { version = "0.1.3", features = ["std"] } -dashmap = { version = "6.1.0" } -either = { version = "1.13.0" } -futures = { version = "0.3.32" } -http = { version = "1.4.0" } -humantime = { version = "2.1.0" } -insta = { version = "1.47.2" } -itertools = { version = "0.15.0" } -moka = { version = "0.12.15", features = ["sync"] } -moro-local = { version = "0.4.0" } -object_store = { version = "0.14.0", features = ["gcp", "http"] } -once_cell = { version = "1.21.4" } +anyhow = { version = "1.0.102", default-features = false } +arc-swap = { version = "1.9.1", default-features = false } +assert_matches = { version = "1.5.0", default-features = false } +axum = { version = "0.8.9", default-features = false, features = ["ws", "macros"] } +axum-prometheus = { version = "0.10.0", default-features = false, features = ["prometheus"] } +backon = { version = "1.3.0", default-features = false, features = ["tokio-sleep"] } +chrono = { version = "0.4.44", default-features = false, features = ["serde"] } +ciborium = { version = "0.2.2", default-features = false, features = ["std"] } +clap = { version = "4.5.60", default-features = false, features = ["derive", "std"] } +criterion = { version = "0.8", default-features = false, features = ["async_tokio"] } +crossbeam-skiplist = { version = "0.1.3", default-features = false, features = ["std"] } +dashmap = { version = "6.1.0", default-features = false } +either = { version = "1.13.0", default-features = false } +futures = { version = "0.3.32", default-features = false } +http = { version = "1.4.0", default-features = false } +humantime = { version = "2.1.0", default-features = false } +insta = { version = "1.47.2", default-features = false } +itertools = { version = "0.15.0", default-features = false } +moka = { version = "0.12.15", default-features = false, features = ["sync"] } +moro-local = { version = "0.4.0", default-features = false } +object_store = { version = "0.14.0", default-features = false, features = ["gcp", "http", "fs"] } +once_cell = { version = "1.21.4", default-features = false } opentelemetry = { version = "0.32", default-features = false, features = ["trace"] } -opentelemetry-http = { version = "0.32" } -opentelemetry-otlp = { version = "0.32", features = ["grpc-tonic"] } -opentelemetry-resource-detectors = { version = "0.11.0" } -opentelemetry-semantic-conventions = { version = "0.32.0", features = ["semconv_experimental"] } +opentelemetry-http = { version = "0.32", default-features = false } +opentelemetry-otlp = { version = "0.32", default-features = false, features = ["grpc-tonic", "trace", "http-proto", "reqwest-client"] } +opentelemetry-resource-detectors = { version = "0.11.0", default-features = false } +opentelemetry-semantic-conventions = { version = "0.32.0", default-features = false, features = ["semconv_experimental"] } opentelemetry_sdk = { version = "0.32", default-features = false, features = ["trace", "rt-tokio"] } opsqueue = { path = "opsqueue", default-features = false } -pyo3 = { version = "0.28.3", features = ["chrono"] } -pyo3-async-runtimes = { version = "0.28.0", features = ["tokio-runtime", "unstable-streams"] } -pyo3-log = { version = "0.13.3" } -rand = { version = "0.10.1" } +pyo3 = { version = "0.28.3", default-features = false, features = ["chrono"] } +pyo3-async-runtimes = { version = "0.28.0", default-features = false, features = ["tokio-runtime", "unstable-streams"] } +pyo3-log = { version = "0.13.3", default-features = false } +rand = { version = "0.10.1", default-features = false } reqwest = { version = "0.13.2", default-features = false, features = ["json"] } -rustc-hash = { version = "2.1.2" } +rustc-hash = { version = "2.1.2", default-features = false, features = ["std"] } sentry = { version = "0.48", default-features = false, features = ["rustls", "reqwest", "anyhow", "backtrace", "contexts", "tracing", "panic"] } -sentry-tracing = { version = "0.48" } -serde = { version = "1.0.203", features = ["derive"] } -serde-error = { version = "0.1.3" } -serde_json = { version = "1.0.149" } -snowflaked = { version = "1.0.3", features = ["sync"] } -sqlformat = { version = "0.5.0" } -sqlx = { version = "0.9.0", features = ["chrono", "derive", "json", "macros", "migrate", "runtime-tokio", "sqlite", "tls-rustls-aws-lc-rs"] } -thiserror = { version = "2.0.18" } -tokio = { version = "1.52.1", features = ["macros", "signal", "rt-multi-thread"] } -tokio-tungstenite = { version = "0.30.0", features = ["connect", "stream"] } -tokio-util = { version = "0.7.18", features = ["io", "rt", "time"] } -tower-http = { version = "0.7.0", features = ["trace", "catch-panic"] } -tracing = { version = "0.1.41", features = ["log"] } -tracing-opentelemetry = { version = "0.33.0" } -tracing-subscriber = { version = "0.3", features = ["std", "env-filter", "fmt"] } -url = { version = "2.5.2" } -uuid = { version = "1.23.1", features = ["v7", "fast-rng", "serde"] } -ux = { version = "0.1.6" } +sentry-tracing = { version = "0.48", default-features = false } +serde = { version = "1.0.203", default-features = false, features = ["derive"] } +serde-error = { version = "0.1.3", default-features = false } +serde_json = { version = "1.0.149", default-features = false } +snowflaked = { version = "1.0.3", default-features = false, features = ["sync"] } +sqlformat = { version = "0.5.0", default-features = false } +sqlx = { version = "0.9.0", default-features = false, features = ["chrono", "derive", "json", "macros", "migrate", "runtime-tokio", "sqlite", "tls-rustls-aws-lc-rs"] } +thiserror = { version = "2.0.18", default-features = false } +tokio = { version = "1.52.1", default-features = false, features = ["macros", "signal", "rt-multi-thread"] } +tokio-tungstenite = { version = "0.30.0", default-features = false, features = ["connect", "stream"] } +tokio-util = { version = "0.7.18", default-features = false, features = ["io", "rt", "time"] } +tower-http = { version = "0.7.0", default-features = false, features = ["trace", "catch-panic"] } +tracing = { version = "0.1.41", default-features = false, features = ["log"] } +tracing-opentelemetry = { version = "0.33.0", default-features = false } +tracing-subscriber = { version = "0.3", default-features = false, features = ["std", "env-filter", "fmt"] } +url = { version = "2.5.2", default-features = false } +uuid = { version = "1.23.1", default-features = false, features = ["v7", "fast-rng", "serde"] } +ux = { version = "0.1.6", default-features = false } workspace-hack = { version = "0.1", path = "workspace-hack" } [workspace.lints.clippy] diff --git a/clippy.toml b/clippy.toml index 274bb7b..b2d17c7 100644 --- a/clippy.toml +++ b/clippy.toml @@ -5,13 +5,13 @@ allowed-duplicate-crates = [ "digest", "getrandom", "hashbrown", + "itertools", "r-efi", "rand", "rand_core", "sha1", "sha2", "syn", - "thiserror", "tokio-tungstenite", "tower-http", "tungstenite", diff --git a/workspace-hack/Cargo.toml b/workspace-hack/Cargo.toml index c4bae4e..799bd14 100644 --- a/workspace-hack/Cargo.toml +++ b/workspace-hack/Cargo.toml @@ -15,9 +15,10 @@ publish = false ### BEGIN HAKARI SECTION [dependencies] +anyhow = { version = "1" } aws-lc-rs = { version = "1", default-features = false, features = ["aws-lc-sys", "prebuilt-nasm"] } base64 = { version = "0.22" } -chrono = { version = "0.4", features = ["serde"] } +chrono = { version = "0.4", default-features = false, features = ["clock", "serde"] } crossbeam-epoch = { version = "0.9" } crossbeam-utils = { version = "0.8" } either = { version = "1", features = ["serde", "use_std"] } @@ -32,9 +33,10 @@ libsqlite3-sys = { version = "0.30", default-features = false, features = ["bund log = { version = "0.4", default-features = false, features = ["std"] } num-traits = { version = "0.2", default-features = false, features = ["std"] } opentelemetry = { version = "0.32" } -opentelemetry-http = { version = "0.32", features = ["reqwest-blocking"] } -opentelemetry_sdk = { version = "0.32", default-features = false, features = ["internal-logs", "logs", "metrics", "rt-tokio", "trace"] } -rand = { version = "0.9" } +opentelemetry-http = { version = "0.32", default-features = false, features = ["reqwest"] } +opentelemetry_sdk = { version = "0.32", default-features = false, features = ["metrics", "rt-tokio", "trace"] } +rand-274715c4dabd11b0 = { package = "rand", version = "0.9" } +rand-93f6ce9d446188ac = { package = "rand", version = "0.10" } regex-automata = { version = "0.4", default-features = false, features = ["dfa-build", "meta", "std", "unicode-perl", "unicode-word-boundary"] } regex-syntax = { version = "0.8", default-features = false, features = ["std", "unicode-perl"] } reqwest = { version = "0.13", default-features = false, features = ["blocking", "http2", "json", "rustls", "stream"] } @@ -46,7 +48,7 @@ sha2 = { version = "0.10" } slab = { version = "0.4" } smallvec = { version = "1", default-features = false, features = ["const_new"] } sqlx-core = { version = "0.9", features = ["_rt-tokio", "_tls-rustls-aws-lc-rs", "any", "chrono", "json", "migrate", "offline"] } -sqlx-sqlite = { version = "0.9", default-features = false, features = ["any", "bundled", "chrono", "deserialize", "json", "load-extension", "migrate", "offline", "unlock-notify"] } +sqlx-sqlite = { version = "0.9", default-features = false, features = ["bundled", "chrono", "deserialize", "json", "load-extension", "migrate", "offline", "unlock-notify"] } thiserror = { version = "2" } tokio = { version = "1", features = ["fs", "io-util", "macros", "net", "rt-multi-thread", "signal", "sync", "time"] } tokio-stream = { version = "0.1", features = ["fs"] } @@ -58,9 +60,10 @@ uuid = { version = "1", features = ["fast-rng", "serde", "v4", "v7"] } zerocopy = { version = "0.8", default-features = false, features = ["derive", "simd"] } [build-dependencies] +anyhow = { version = "1" } aws-lc-rs = { version = "1", default-features = false, features = ["aws-lc-sys", "prebuilt-nasm"] } base64 = { version = "0.22" } -chrono = { version = "0.4", features = ["serde"] } +chrono = { version = "0.4", default-features = false, features = ["clock", "serde"] } crossbeam-utils = { version = "0.8" } either = { version = "1", features = ["serde", "use_std"] } event-listener = { version = "5" } @@ -79,7 +82,7 @@ sha2 = { version = "0.10" } slab = { version = "0.4" } smallvec = { version = "1", default-features = false, features = ["const_new"] } sqlx-core = { version = "0.9", features = ["_rt-tokio", "_tls-rustls-aws-lc-rs", "any", "chrono", "json", "migrate", "offline"] } -sqlx-sqlite = { version = "0.9", default-features = false, features = ["any", "bundled", "chrono", "deserialize", "json", "load-extension", "migrate", "offline", "unlock-notify"] } +sqlx-sqlite = { version = "0.9", default-features = false, features = ["bundled", "chrono", "deserialize", "json", "load-extension", "migrate", "offline", "unlock-notify"] } syn = { version = "3", features = ["full", "visit-mut"] } thiserror = { version = "2" } tokio = { version = "1", features = ["fs", "io-util", "macros", "net", "rt-multi-thread", "signal", "sync", "time"] } @@ -96,7 +99,6 @@ tower = { version = "0.5", default-features = false, features = ["balance", "buf tower-http = { version = "0.6", features = ["follow-redirect"] } [target.x86_64-unknown-linux-gnu.build-dependencies] -cc = { version = "1", default-features = false, features = ["parallel"] } libc = { version = "0.2", features = ["extra_traits"] } ### END HAKARI SECTION