1[workspace]
2resolver = "2"
3members = [
4# tidy-alphabetical-start
5 "compiler/rustc",
6 "src/build_helper",
7 "src/rustc-std-workspace/rustc-std-workspace-alloc",
8 "src/rustc-std-workspace/rustc-std-workspace-core",
9 "src/rustc-std-workspace/rustc-std-workspace-std",
10 "src/rustdoc-json-types",
11 "src/tools/build-manifest",
12 "src/tools/bump-stage0",
13 "src/tools/cargotest",
14 "src/tools/clippy",
15 "src/tools/clippy/clippy_dev",
16 "src/tools/collect-license-metadata",
17 "src/tools/compiletest",
18 "src/tools/coverage-dump",
19 "src/tools/features-status-dump",
20 "src/tools/generate-copyright",
21 "src/tools/generate-windows-sys",
22 "src/tools/html-checker",
23 "src/tools/jsondocck",
24 "src/tools/jsondoclint",
25 "src/tools/linkchecker",
26 "src/tools/lint-docs",
27 "src/tools/lld-wrapper",
28 "src/tools/llvm-bitcode-linker",
29 "src/tools/miri",
30 "src/tools/miri/cargo-miri",
31 "src/tools/miropt-test-tools",
32 "src/tools/opt-dist",
33 "src/tools/remote-test-client",
34 "src/tools/remote-test-server",
35 "src/tools/replace-version-placeholder",
36 "src/tools/run-make-support",
37 "src/tools/rust-installer",
38 "src/tools/rustdoc",
39 "src/tools/rustdoc-gui-test",
40 "src/tools/rustdoc-themes",
41 "src/tools/rustfmt",
42 "src/tools/test-float-parse",
43 "src/tools/tidy",
44 "src/tools/tier-check",
45 "src/tools/unicode-table-generator",
46 "src/tools/unstable-book-gen",
47 "src/tools/wasm-component-ld",
48 "src/tools/x",
49# tidy-alphabetical-end
50]
51
52exclude = [
53 "build",
54 "compiler/rustc_codegen_cranelift",
55 "compiler/rustc_codegen_gcc",
56 "src/bootstrap",
57 "tests/rustdoc-gui",
58 # HACK(eddyb) This hardcodes the fact that our CI uses `/checkout/obj`.
59 "obj",
60]
61
62[profile.release.package.rustc_thread_pool]
63# The rustc fork of Rayon has deadlock detection code which intermittently
64# causes overflows in the CI (see https://github.com/rust-lang/rust/issues/90227)
65# so we turn overflow checks off for now.
66# FIXME: This workaround should be removed once #90227 is fixed.
67overflow-checks = false
68
69# These are very thin wrappers around executing lld with the right binary name.
70# Basically nothing within them can go wrong without having been explicitly logged anyway.
71# We ship these in every rustc tarball and even after compression they add up
72# to around 0.6MB of data every user needs to download (and 15MB on disk).
73[profile.release.package.lld-wrapper]
74debug = 0
75strip = true
76[profile.release.package.wasm-component-ld-wrapper]
77debug = 0
78strip = true
79
80# Bigint libraries are slow without optimization, speed up testing
81[profile.dev.package.test-float-parse]
82opt-level = 3
83
84# Speed up the binary as much as possible
85[profile.release.package.test-float-parse]
86opt-level = 3
87codegen-units = 1
88# FIXME: LTO cannot be enabled for binaries in a workspace
89# <https://github.com/rust-lang/cargo/issues/9330>
90# lto = true
91
92# If you want to use a crate with local modifications, you can set a path or git dependency here.
93# For git dependencies, also add your source to ALLOWED_SOURCES in src/tools/tidy/src/extdeps.rs.
94#[patch.crates-io]
95