Use core via rustc-std-workspace-core in library/panic*

The three panic-related library crates need to have access to `core`,
and `compiler-builtins` needs to be in the crate graph. Rather than
specifying both dependencies, switch these crates to use
`rustc-std-workspace-core` which already does this.

This means there is now a single place that the `compiler-builtins`
dependency needs to get configured, for everything other than `alloc`
and `std`.
This commit is contained in:
Trevor Gross 2025-07-30 09:03:21 -05:00
parent 8d0b92acbf
commit daf353461b
6 changed files with 24 additions and 24 deletions

View file

@ -183,9 +183,8 @@ name = "panic_abort"
version = "0.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"alloc", "alloc",
"compiler_builtins",
"core",
"libc", "libc",
"rustc-std-workspace-core",
] ]
[[package]] [[package]]
@ -194,9 +193,8 @@ version = "0.0.0"
dependencies = [ dependencies = [
"alloc", "alloc",
"cfg-if", "cfg-if",
"compiler_builtins",
"core",
"libc", "libc",
"rustc-std-workspace-core",
"unwind", "unwind",
] ]
@ -380,9 +378,8 @@ name = "unwind"
version = "0.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"cfg-if", "cfg-if",
"compiler_builtins",
"core",
"libc", "libc",
"rustc-std-workspace-core",
"unwinding", "unwinding",
] ]

View file

@ -12,8 +12,7 @@ bench = false
doc = false doc = false
[dependencies] [dependencies]
core = { path = "../core" } core = { path = "../rustc-std-workspace-core", package = "rustc-std-workspace-core" }
compiler_builtins = { path = "../compiler-builtins/compiler-builtins" }
[target.'cfg(target_os = "android")'.dependencies] [target.'cfg(target_os = "android")'.dependencies]
libc = { version = "0.2", default-features = false } libc = { version = "0.2", default-features = false }

View file

@ -13,10 +13,9 @@ doc = false
[dependencies] [dependencies]
alloc = { path = "../alloc" } alloc = { path = "../alloc" }
core = { path = "../core" }
unwind = { path = "../unwind" }
compiler_builtins = { path = "../compiler-builtins/compiler-builtins" }
cfg-if = { version = "1.0", features = ['rustc-dep-of-std'] } cfg-if = { version = "1.0", features = ['rustc-dep-of-std'] }
core = { path = "../rustc-std-workspace-core", package = "rustc-std-workspace-core" }
unwind = { path = "../unwind" }
[target.'cfg(not(all(windows, target_env = "msvc")))'.dependencies] [target.'cfg(not(all(windows, target_env = "msvc")))'.dependencies]
libc = { version = "0.2", default-features = false } libc = { version = "0.2", default-features = false }

View file

@ -11,6 +11,12 @@ on crates.io will draw a dependency edge to `libcore`, the version defined in
this repository. That should draw all the dependency edges to ensure Cargo this repository. That should draw all the dependency edges to ensure Cargo
builds crates successfully! builds crates successfully!
`rustc-std-workspace-core` also ensures `compiler-builtins` is in the crate
graph. This crate is used by other crates in `library/`, other than `std` and
`alloc`, so the `compiler-builtins` setup only needs to be configured in a
single place. (Otherwise these crates would just need to depend on `core` and
`compiler-builtins` separately.)
Note that crates on crates.io need to depend on this crate with the name `core` Note that crates on crates.io need to depend on this crate with the name `core`
for everything to work correctly. To do that they can use: for everything to work correctly. To do that they can use:

View file

@ -14,9 +14,8 @@ bench = false
doc = false doc = false
[dependencies] [dependencies]
core = { path = "../core" }
compiler_builtins = { path = "../compiler-builtins/compiler-builtins" }
cfg-if = "1.0" cfg-if = "1.0"
core = { path = "../rustc-std-workspace-core", package = "rustc-std-workspace-core" }
[target.'cfg(not(all(windows, target_env = "msvc")))'.dependencies] [target.'cfg(not(all(windows, target_env = "msvc")))'.dependencies]
libc = { version = "0.2.140", features = ['rustc-dep-of-std'], default-features = false } libc = { version = "0.2.140", features = ['rustc-dep-of-std'], default-features = false }

View file

@ -999,7 +999,7 @@ mod snapshot {
[build] llvm <host> [build] llvm <host>
[build] rustc 0 <host> -> rustc 1 <host> [build] rustc 0 <host> -> rustc 1 <host>
[build] rustdoc 0 <host> [build] rustdoc 0 <host>
[doc] std 1 <host> crates=[alloc,compiler_builtins,core,panic_abort,panic_unwind,proc_macro,std,std_detect,sysroot,test,unwind] [doc] std 1 <host> crates=[alloc,compiler_builtins,core,panic_abort,panic_unwind,proc_macro,rustc-std-workspace-core,std,std_detect,sysroot,test,unwind]
"); ");
} }
@ -1048,7 +1048,7 @@ mod snapshot {
[build] rustc 1 <host> -> std 1 <host> [build] rustc 1 <host> -> std 1 <host>
[build] rustc 1 <host> -> rustc 2 <host> [build] rustc 1 <host> -> rustc 2 <host>
[build] rustdoc 1 <host> [build] rustdoc 1 <host>
[doc] std 2 <host> crates=[alloc,compiler_builtins,core,panic_abort,panic_unwind,proc_macro,std,std_detect,sysroot,test,unwind] [doc] std 2 <host> crates=[alloc,compiler_builtins,core,panic_abort,panic_unwind,proc_macro,rustc-std-workspace-core,std,std_detect,sysroot,test,unwind]
[build] rustc 2 <host> -> std 2 <host> [build] rustc 2 <host> -> std 2 <host>
[build] rustc 0 <host> -> LintDocs 1 <host> [build] rustc 0 <host> -> LintDocs 1 <host>
[build] rustc 0 <host> -> RustInstaller 1 <host> [build] rustc 0 <host> -> RustInstaller 1 <host>
@ -1090,7 +1090,7 @@ mod snapshot {
[build] rustc 1 <host> -> WasmComponentLd 2 <host> [build] rustc 1 <host> -> WasmComponentLd 2 <host>
[build] rustc 1 <host> -> LlvmBitcodeLinker 2 <host> [build] rustc 1 <host> -> LlvmBitcodeLinker 2 <host>
[build] rustdoc 1 <host> [build] rustdoc 1 <host>
[doc] std 2 <host> crates=[alloc,compiler_builtins,core,panic_abort,panic_unwind,proc_macro,std,std_detect,sysroot,test,unwind] [doc] std 2 <host> crates=[alloc,compiler_builtins,core,panic_abort,panic_unwind,proc_macro,rustc-std-workspace-core,std,std_detect,sysroot,test,unwind]
[build] rustc 2 <host> -> std 2 <host> [build] rustc 2 <host> -> std 2 <host>
[build] rustc 0 <host> -> LintDocs 1 <host> [build] rustc 0 <host> -> LintDocs 1 <host>
[build] rustc 0 <host> -> RustInstaller 1 <host> [build] rustc 0 <host> -> RustInstaller 1 <host>
@ -1126,8 +1126,8 @@ mod snapshot {
[build] rustc 1 <host> -> std 1 <host> [build] rustc 1 <host> -> std 1 <host>
[build] rustc 1 <host> -> rustc 2 <host> [build] rustc 1 <host> -> rustc 2 <host>
[build] rustdoc 1 <host> [build] rustdoc 1 <host>
[doc] std 2 <host> crates=[alloc,compiler_builtins,core,panic_abort,panic_unwind,proc_macro,std,std_detect,sysroot,test,unwind] [doc] std 2 <host> crates=[alloc,compiler_builtins,core,panic_abort,panic_unwind,proc_macro,rustc-std-workspace-core,std,std_detect,sysroot,test,unwind]
[doc] std 2 <target1> crates=[alloc,compiler_builtins,core,panic_abort,panic_unwind,proc_macro,std,std_detect,sysroot,test,unwind] [doc] std 2 <target1> crates=[alloc,compiler_builtins,core,panic_abort,panic_unwind,proc_macro,rustc-std-workspace-core,std,std_detect,sysroot,test,unwind]
[build] rustc 2 <host> -> std 2 <host> [build] rustc 2 <host> -> std 2 <host>
[build] rustc 0 <host> -> LintDocs 1 <host> [build] rustc 0 <host> -> LintDocs 1 <host>
[build] rustc 0 <host> -> RustInstaller 1 <host> [build] rustc 0 <host> -> RustInstaller 1 <host>
@ -1163,7 +1163,7 @@ mod snapshot {
[build] rustc 1 <host> -> std 1 <host> [build] rustc 1 <host> -> std 1 <host>
[build] rustc 1 <host> -> rustc 2 <host> [build] rustc 1 <host> -> rustc 2 <host>
[build] rustdoc 1 <host> [build] rustdoc 1 <host>
[doc] std 2 <host> crates=[alloc,compiler_builtins,core,panic_abort,panic_unwind,proc_macro,std,std_detect,sysroot,test,unwind] [doc] std 2 <host> crates=[alloc,compiler_builtins,core,panic_abort,panic_unwind,proc_macro,rustc-std-workspace-core,std,std_detect,sysroot,test,unwind]
[build] rustc 2 <host> -> std 2 <host> [build] rustc 2 <host> -> std 2 <host>
[build] rustc 0 <host> -> LintDocs 1 <host> [build] rustc 0 <host> -> LintDocs 1 <host>
[build] rustc 1 <host> -> std 1 <target1> [build] rustc 1 <host> -> std 1 <target1>
@ -1200,8 +1200,8 @@ mod snapshot {
[build] rustc 1 <host> -> std 1 <host> [build] rustc 1 <host> -> std 1 <host>
[build] rustc 1 <host> -> rustc 2 <host> [build] rustc 1 <host> -> rustc 2 <host>
[build] rustdoc 1 <host> [build] rustdoc 1 <host>
[doc] std 2 <host> crates=[alloc,compiler_builtins,core,panic_abort,panic_unwind,proc_macro,std,std_detect,sysroot,test,unwind] [doc] std 2 <host> crates=[alloc,compiler_builtins,core,panic_abort,panic_unwind,proc_macro,rustc-std-workspace-core,std,std_detect,sysroot,test,unwind]
[doc] std 2 <target1> crates=[alloc,compiler_builtins,core,panic_abort,panic_unwind,proc_macro,std,std_detect,sysroot,test,unwind] [doc] std 2 <target1> crates=[alloc,compiler_builtins,core,panic_abort,panic_unwind,proc_macro,rustc-std-workspace-core,std,std_detect,sysroot,test,unwind]
[build] rustc 2 <host> -> std 2 <host> [build] rustc 2 <host> -> std 2 <host>
[build] rustc 0 <host> -> LintDocs 1 <host> [build] rustc 0 <host> -> LintDocs 1 <host>
[build] rustc 1 <host> -> std 1 <target1> [build] rustc 1 <host> -> std 1 <target1>
@ -1242,7 +1242,7 @@ mod snapshot {
[build] rustc 1 <host> -> std 1 <host> [build] rustc 1 <host> -> std 1 <host>
[build] rustc 1 <host> -> rustc 2 <host> [build] rustc 1 <host> -> rustc 2 <host>
[build] rustdoc 1 <host> [build] rustdoc 1 <host>
[doc] std 2 <target1> crates=[alloc,compiler_builtins,core,panic_abort,panic_unwind,proc_macro,std,std_detect,sysroot,test,unwind] [doc] std 2 <target1> crates=[alloc,compiler_builtins,core,panic_abort,panic_unwind,proc_macro,rustc-std-workspace-core,std,std_detect,sysroot,test,unwind]
[build] rustc 2 <host> -> std 2 <host> [build] rustc 2 <host> -> std 2 <host>
[build] rustc 0 <host> -> RustInstaller 1 <host> [build] rustc 0 <host> -> RustInstaller 1 <host>
[dist] docs <target1> [dist] docs <target1>
@ -1274,7 +1274,7 @@ mod snapshot {
[build] rustc 1 <host> -> rustc 2 <host> [build] rustc 1 <host> -> rustc 2 <host>
[build] rustc 1 <host> -> WasmComponentLd 2 <host> [build] rustc 1 <host> -> WasmComponentLd 2 <host>
[build] rustdoc 1 <host> [build] rustdoc 1 <host>
[doc] std 2 <target1> crates=[alloc,compiler_builtins,core,panic_abort,panic_unwind,proc_macro,std,std_detect,sysroot,test,unwind] [doc] std 2 <target1> crates=[alloc,compiler_builtins,core,panic_abort,panic_unwind,proc_macro,rustc-std-workspace-core,std,std_detect,sysroot,test,unwind]
[build] rustc 2 <host> -> std 2 <host> [build] rustc 2 <host> -> std 2 <host>
[build] rustc 1 <host> -> std 1 <target1> [build] rustc 1 <host> -> std 1 <target1>
[build] rustc 2 <host> -> std 2 <target1> [build] rustc 2 <host> -> std 2 <target1>
@ -1620,7 +1620,7 @@ mod snapshot {
[build] llvm <host> [build] llvm <host>
[build] rustc 0 <host> -> rustc 1 <host> [build] rustc 0 <host> -> rustc 1 <host>
[build] rustdoc 0 <host> [build] rustdoc 0 <host>
[doc] std 1 <host> crates=[alloc,compiler_builtins,core,panic_abort,panic_unwind,proc_macro,std,std_detect,sysroot,test,unwind] [doc] std 1 <host> crates=[alloc,compiler_builtins,core,panic_abort,panic_unwind,proc_macro,rustc-std-workspace-core,std,std_detect,sysroot,test,unwind]
"); ");
} }