dd8ec9c88d
Introduce `DynSend` and `DynSync` auto trait for parallel compiler part of parallel-rustc #101566 This PR introduces `DynSend / DynSync` trait and `FromDyn / IntoDyn` structure in rustc_data_structure::marker. `FromDyn` can dynamically check data structures for thread safety when switching to parallel environments (such as calling `par_for_each_in`). This happens only when `-Z threads > 1` so it doesn't affect single-threaded mode's compile efficiency. r? `@cjgillot`
55 lines
1.3 KiB
TOML
55 lines
1.3 KiB
TOML
[package]
|
|
name = "rustc_data_structures"
|
|
version = "0.0.0"
|
|
edition = "2021"
|
|
|
|
[lib]
|
|
|
|
[dependencies]
|
|
arrayvec = { version = "0.7", default-features = false }
|
|
bitflags = "1.2.1"
|
|
cfg-if = "1.0"
|
|
ena = "0.14.2"
|
|
indexmap = { version = "1.9.3" }
|
|
jobserver_crate = { version = "0.1.13", package = "jobserver" }
|
|
libc = "0.2"
|
|
measureme = "10.0.0"
|
|
rustc-rayon-core = { version = "0.5.0", optional = true }
|
|
rustc-rayon = { version = "0.5.0", optional = true }
|
|
rustc_arena = { path = "../rustc_arena" }
|
|
rustc_graphviz = { path = "../rustc_graphviz" }
|
|
rustc-hash = "1.1.0"
|
|
rustc_index = { path = "../rustc_index", package = "rustc_index" }
|
|
rustc_macros = { path = "../rustc_macros" }
|
|
rustc_serialize = { path = "../rustc_serialize" }
|
|
smallvec = { version = "1.8.1", features = [
|
|
"const_generics",
|
|
"union",
|
|
"may_dangle",
|
|
] }
|
|
stacker = "0.1.15"
|
|
tempfile = "3.2"
|
|
thin-vec = "0.2.12"
|
|
tracing = "0.1"
|
|
elsa = "=1.7.1"
|
|
itertools = "0.10.1"
|
|
|
|
[dependencies.parking_lot]
|
|
version = "0.11"
|
|
|
|
[target.'cfg(windows)'.dependencies.windows]
|
|
version = "0.48.0"
|
|
features = [
|
|
"Win32_Foundation",
|
|
"Win32_Storage_FileSystem",
|
|
"Win32_System_IO",
|
|
"Win32_System_ProcessStatus",
|
|
"Win32_System_Threading",
|
|
]
|
|
|
|
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
|
|
memmap2 = "0.2.1"
|
|
|
|
[features]
|
|
rustc_use_parallel_compiler = ["indexmap/rustc-rayon", "rustc-rayon", "rustc-rayon-core"]
|