diff --git a/Cargo.lock b/Cargo.lock index 60ec9765ed..592d478a34 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -24,17 +24,6 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" -[[package]] -name = "ahash" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" -dependencies = [ - "getrandom", - "once_cell", - "version_check", -] - [[package]] name = "ahash" version = "0.8.11" @@ -1192,22 +1181,13 @@ dependencies = [ "bitflags 2.6.0", ] -[[package]] -name = "hashbrown" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" -dependencies = [ - "ahash 0.7.8", -] - [[package]] name = "hashbrown" version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" dependencies = [ - "ahash 0.8.11", + "ahash", "allocator-api2", ] @@ -2163,22 +2143,23 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" name = "rustc_codegen_spirv" version = "0.9.0" dependencies = [ + "ahash", "ar", + "bytemuck", "either", - "hashbrown 0.11.2", "indexmap", "itertools", "lazy_static", "libc", - "num-traits", + "log", "object", - "once_cell", "pipe", "pretty_assertions", "regex", "rspirv", "rustc-demangle", "rustc_codegen_spirv-types", + "rustix", "sanitize-filename", "smallvec", "spirt", @@ -2224,8 +2205,10 @@ checksum = "f93dc38ecbab2eb790ff964bb77fa94faf256fd3e73285fd7ba0903b76bedb85" dependencies = [ "bitflags 2.6.0", "errno", + "itoa", "libc", "linux-raw-sys", + "once_cell", "windows-sys 0.59.0", ] @@ -3520,7 +3503,7 @@ version = "0.29.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d59ad965a635657faf09c8f062badd885748428933dad8e8bdd64064d92e5ca" dependencies = [ - "ahash 0.8.11", + "ahash", "android-activity", "atomic-waker", "bitflags 2.6.0", diff --git a/crates/rustc_codegen_spirv/Cargo.toml b/crates/rustc_codegen_spirv/Cargo.toml index 5c42e1077b..0fdca9a155 100644 --- a/crates/rustc_codegen_spirv/Cargo.toml +++ b/crates/rustc_codegen_spirv/Cargo.toml @@ -33,11 +33,11 @@ skip-toolchain-check = [] [dependencies] # HACK(eddyb) these only exist to unify features across dependency trees, # in order to avoid multiple separate instances of `rustc_codegen_spirv`. -hashbrown = "0.11" -libc = { version = "0.2", features = ["align", "extra_traits"] } -num-traits = { workspace = true, default-features = true } -once_cell = "1" +ahash = { version = "0.8.11", features = ["no-rng"] } +bytemuck = { version = "1.20.0", features = ["aarch64_simd", "derive"] } +log = { version = "0.4.22", features = ["std"] } regex = { version = "1", features = ["perf"] } +rustix = { version = "0.38.42", features = ["all-apis"] } # HACK(eddyb) deps of `rustc_codegen_ssa`, for `pqp_cg_ssa` (see `build.rs`), # that cannot be handled with just `extern crate` pulling out of the sysroot. @@ -52,7 +52,7 @@ rspirv = "0.12" rustc_codegen_spirv-types.workspace = true rustc-demangle = "0.1.21" sanitize-filename = "0.4" -smallvec = { version = "1.6.1", features = ["union"] } +smallvec = { version = "1.6.1", features = ["const_generics", "const_new", "union"] } spirt = "0.4.0" spirv-tools.workspace = true lazy_static = "1.4.0" @@ -66,6 +66,11 @@ pretty_assertions = "1.0" # (see `build.rs`). # tempfile = "3.4" +# HACK(eddyb) deps of `rustc_codegen_ssa`, for `pqp_cg_ssa` (see `build.rs`), +# that cannot be handled with just `extern crate` pulling out of the sysroot. +[target.'cfg(unix)'.dependencies] +libc = "0.2.50" + # Note that in order to use RA and have access to `rustc_*` crates, you also # need to set `"rust-analyzer.rustcSource": "discover"` in e.g. VSCode. [package.metadata.rust-analyzer] diff --git a/deny.toml b/deny.toml index bbfdbf227c..f996cff704 100644 --- a/deny.toml +++ b/deny.toml @@ -30,6 +30,10 @@ skip = [ # HACK(eddyb) two versions coexist for interop, for the time being. { name = "raw-window-handle", version = "=0.5.2" }, { name = "raw-window-handle", version = "=0.6.2" }, + + # HACK(eddyb) the newer version hasn't propagated through the ecosystem yet. + { name = "hashbrown", version = "=0.14.5" }, + { name = "hashbrown", version = "=0.15.2" }, ] # Similarly to `skip` allows you to skip certain crates during duplicate # detection. Unlike skip, it also includes the entire tree of transitive @@ -48,9 +52,6 @@ skip-tree = [ # FIXME(eddyb) outdated `winit` version uses older `windows-*`, # requires an upgrade to `winit 0.30` to resolve. { name = "winit", version = "=0.29.15", depth = 4 }, - - # FIXME(eddyb) resolve everything hidden by this. - { name = "rustc_codegen_spirv", depth = 2 }, ]