From 5c4eeb026f30107e42b5e14e64225a58d0d8e791 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 26 Jul 2026 22:08:44 +0000 Subject: [PATCH 1/2] build(deps): bump ctor from 0.9.1 to 1.0.10 in /misc/wasm Bumps [ctor](https://github.com/mmastrac/linktime) from 0.9.1 to 1.0.10. - [Release notes](https://github.com/mmastrac/linktime/releases) - [Changelog](https://github.com/mmastrac/linktime/blob/master/CHANGELOG.md) - [Commits](https://github.com/mmastrac/linktime/commits/ctor-1.0.10) --- updated-dependencies: - dependency-name: ctor dependency-version: 1.0.10 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- Cargo.toml | 2 +- misc/wasm/Cargo.lock | 44 +++++++++++++++----------------------------- 2 files changed, 16 insertions(+), 30 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 84438484e8044..829cb8ae70bff 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -344,7 +344,7 @@ crossterm = { version = "0.28.1", default-features = false } csv = "1.4.0" csv-async = { version = "1.3.1", features = ["tokio"] } csv-core = "0.1.13" -ctor = "0.9.1" +ctor = "1.0.10" custom-labels = "0.4.6" darling = "0.23.0" datadriven = "0.9.0" diff --git a/misc/wasm/Cargo.lock b/misc/wasm/Cargo.lock index 9b34ca5b03f1f..920617edf9e02 100644 --- a/misc/wasm/Cargo.lock +++ b/misc/wasm/Cargo.lock @@ -213,21 +213,14 @@ dependencies = [ [[package]] name = "ctor" -version = "0.9.1" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1c888a2a4f677017373fb6c01e13e318dd9e78758445ed5eb985e355d3f8281" +checksum = "e9bb72bb94fdc1bd619f4c18cc91ecf6302aeb333d31b3c6ec0bb841cd920209" dependencies = [ - "ctor-proc-macro", - "dtor", "link-section", + "linktime-proc-macro", ] -[[package]] -name = "ctor-proc-macro" -version = "0.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7ab264ea985f1bd27887d7b21ea2bb046728e05d11909ca138d700c494730db" - [[package]] name = "debugid" version = "0.8.0" @@ -276,21 +269,6 @@ dependencies = [ "syn 2.0.119", ] -[[package]] -name = "dtor" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30e4690622ab6700ced40fc370a3f07b7d111f0154bb6fb08f73b4c8834f75b6" -dependencies = [ - "dtor-proc-macro", -] - -[[package]] -name = "dtor-proc-macro" -version = "0.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c98b077c7463d01d22dde8a24378ddf1ca7263dc687cffbed38819ea6c21131" - [[package]] name = "either" version = "1.16.0" @@ -854,15 +832,21 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.172" +version = "0.2.189" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" +checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2" [[package]] name = "link-section" -version = "0.0.12" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f52437d47b0358721ec869cc7374b2a21f7b2237af9b439c0391341a1fbfbf1b" +checksum = "8dc98458dfe90986c5e2f6ddcf68360c7e5c4252600153e06aa4ee8176c0f8d1" + +[[package]] +name = "linktime-proc-macro" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c7b0a3383c2a1002d11349c92c85a666a5fb679e96c79d782cf0dbe557fd6ee" [[package]] name = "linux-raw-sys" @@ -962,6 +946,7 @@ dependencies = [ "hyper-util", "ipnet", "itertools", + "libc", "mz-ore-proc", "native-tls", "num", @@ -971,6 +956,7 @@ dependencies = [ "paste", "pin-project", "prometheus", + "scopeguard", "sentry", "sentry-tracing", "serde", From 1d356b63ba0b41010d36051879cacc6ff6e318f3 Mon Sep 17 00:00:00 2001 From: Dennis Felsing Date: Wed, 29 Jul 2026 22:00:08 +0000 Subject: [PATCH 2/2] ore: adopt the ctor 1.0 unsafe attribute form ctor 1.0 rejects a bare `#[ctor]` and requires `#[ctor(unsafe)]`, so raising the requirement to 1.0.10 failed to compile `mz-ore` and with it every crate in the workspace. The safety argument for reading an environment variable in a module constructor is unchanged and stays recorded above the attribute. Also refresh the root Cargo.lock, which was left pinned to ctor 0.9.1 while the requirement moved to 1.0.10. That mismatch made every `--locked` invocation fail to resolve, including the dependency lint and the cross-compiled doc tests. Co-Authored-By: Claude Opus 5 (1M context) --- Cargo.lock | 56 ++++++++++++++++--------------------------- src/ore/src/assert.rs | 2 +- 2 files changed, 21 insertions(+), 37 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ca0cb73eef459..6546167a56517 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2693,21 +2693,14 @@ dependencies = [ [[package]] name = "ctor" -version = "0.9.1" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1c888a2a4f677017373fb6c01e13e318dd9e78758445ed5eb985e355d3f8281" +checksum = "e9bb72bb94fdc1bd619f4c18cc91ecf6302aeb333d31b3c6ec0bb841cd920209" dependencies = [ - "ctor-proc-macro", - "dtor", "link-section", + "linktime-proc-macro", ] -[[package]] -name = "ctor-proc-macro" -version = "0.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7ab264ea985f1bd27887d7b21ea2bb046728e05d11909ca138d700c494730db" - [[package]] name = "custom-labels" version = "0.4.6" @@ -3152,7 +3145,7 @@ dependencies = [ "libc", "option-ext", "redox_users", - "windows-sys 0.59.0", + "windows-sys 0.61.1", ] [[package]] @@ -3179,21 +3172,6 @@ dependencies = [ "litrs", ] -[[package]] -name = "dtor" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30e4690622ab6700ced40fc370a3f07b7d111f0154bb6fb08f73b4c8834f75b6" -dependencies = [ - "dtor-proc-macro", -] - -[[package]] -name = "dtor-proc-macro" -version = "0.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c98b077c7463d01d22dde8a24378ddf1ca7263dc687cffbed38819ea6c21131" - [[package]] name = "duckdb" version = "1.4.3" @@ -4708,7 +4686,7 @@ dependencies = [ "libc", "percent-encoding", "pin-project-lite", - "socket2 0.5.10", + "socket2 0.6.4", "system-configuration", "tokio", "tower-service", @@ -5036,7 +5014,7 @@ checksum = "3640c1c38b8e4e43584d8df18be5fc6b0aa314ce6ebf51b53313d4306cca8e46" dependencies = [ "hermit-abi", "libc", - "windows-sys 0.59.0", + "windows-sys 0.61.1", ] [[package]] @@ -5123,7 +5101,7 @@ dependencies = [ "portable-atomic", "portable-atomic-util", "serde_core", - "windows-sys 0.59.0", + "windows-sys 0.61.1", ] [[package]] @@ -5727,9 +5705,9 @@ dependencies = [ [[package]] name = "link-section" -version = "0.0.12" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f52437d47b0358721ec869cc7374b2a21f7b2237af9b439c0391341a1fbfbf1b" +checksum = "8dc98458dfe90986c5e2f6ddcf68360c7e5c4252600153e06aa4ee8176c0f8d1" [[package]] name = "linked-hash-map" @@ -5746,6 +5724,12 @@ dependencies = [ "linked-hash-map", ] +[[package]] +name = "linktime-proc-macro" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c7b0a3383c2a1002d11349c92c85a666a5fb679e96c79d782cf0dbe557fd6ee" + [[package]] name = "linux-raw-sys" version = "0.4.15" @@ -10734,7 +10718,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "03da047801ff44bb6a4d407d4860c05fd70bb81714e6b2f3812603d5b145b042" dependencies = [ "heck", - "itertools 0.10.5", + "itertools 0.14.0", "log", "multimap", "petgraph", @@ -10755,7 +10739,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b570b25f7617e43d59005d0990ccb79e950a423952cea19671b7a876da390adf" dependencies = [ "anyhow", - "itertools 0.10.5", + "itertools 0.14.0", "proc-macro2", "quote", "syn 2.0.117", @@ -11722,7 +11706,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys 0.12.1", - "windows-sys 0.59.0", + "windows-sys 0.61.1", ] [[package]] @@ -12875,7 +12859,7 @@ dependencies = [ "getrandom 0.4.3", "once_cell", "rustix 1.1.4", - "windows-sys 0.59.0", + "windows-sys 0.61.1", ] [[package]] @@ -12894,7 +12878,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "230a1b821ccbd75b185820a1f1ff7b14d21da1e442e22c0863ea5f08771a8874" dependencies = [ "rustix 1.1.4", - "windows-sys 0.59.0", + "windows-sys 0.61.1", ] [[package]] diff --git a/src/ore/src/assert.rs b/src/ore/src/assert.rs index cb103c0c17476..12fa88295b9a7 100644 --- a/src/ore/src/assert.rs +++ b/src/ore/src/assert.rs @@ -57,7 +57,7 @@ use std::sync::atomic::AtomicBool; // because Rust does not explicitly support constructors. But a scan of the // stdlib suggests that reading environment variables is safe enough. #[cfg(not(any(miri, target_arch = "wasm32")))] -#[ctor::ctor] +#[ctor::ctor(unsafe)] pub static SOFT_ASSERTIONS: AtomicBool = { let default = cfg!(debug_assertions) || crate::env::is_var_truthy("MZ_SOFT_ASSERTIONS"); AtomicBool::new(default)