[workspace] members = [ "bootstrap", "rustc", "libstd", "libtest", "librustc_codegen_llvm", "tools/cargotest", "tools/clippy", "tools/compiletest", "tools/error_index_generator", "tools/linkchecker", "tools/rustbook", "tools/unstable-book-gen", "tools/tidy", "tools/build-manifest", "tools/remote-test-client", "tools/remote-test-server", "tools/rust-installer", "tools/cargo", "tools/rustdoc", "tools/rls", "tools/rustfmt", "tools/miri", "tools/rustdoc-themes", ] exclude = [ "tools/rls/test_data", ] # Curiously, LLVM 7.0 will segfault if compiled with opt-level=3 # See issue https://github.com/rust-lang/rust/issues/52378 [profile.release] opt-level = 2 [profile.bench] opt-level = 2 # These options are controlled from our rustc wrapper script, so turn them off # here and have them controlled elsewhere. [profile.dev] debug = false debug-assertions = false [profile.test] debug = false debug-assertions = false # We want the RLS to use the version of Cargo that we've got vendored in this # repository to ensure that the same exact version of Cargo is used by both the # RLS and the Cargo binary itself. The RLS depends on Cargo as a git repository # so we use a `[patch]` here to override the github repository with our local # vendored copy. [patch."https://github.com/rust-lang/cargo"] cargo = { path = "tools/cargo" } [patch.crates-io] # Similar to Cargo above we want the RLS to use a vendored version of `rustfmt` # that we're shipping as well (to ensure that the rustfmt in RLS and the # `rustfmt` executable are the same exact version). rustfmt-nightly = { path = "tools/rustfmt" } # See comments in `tools/rustc-workspace-hack/README.md` for what's going on # here rustc-workspace-hack = { path = 'tools/rustc-workspace-hack' } [patch."https://github.com/rust-lang-nursery/rust-clippy"] clippy_lints = { path = "tools/clippy/clippy_lints" }