[workspace] members = [ "bootstrap", "rustc", "libstd", "libtest", "librustc_trans", "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", # FIXME(https://github.com/rust-lang/cargo/issues/4089): move these to exclude "tools/rls/test_data/bin_lib", "tools/rls/test_data/borrow_error", "tools/rls/test_data/common", "tools/rls/test_data/deglob", "tools/rls/test_data/features", "tools/rls/test_data/find_all_refs_no_cfg_test", "tools/rls/test_data/find_impls", "tools/rls/test_data/infer_bin", "tools/rls/test_data/infer_custom_bin", "tools/rls/test_data/infer_lib", "tools/rls/test_data/multiple_bins", "tools/rls/test_data/reformat", "tools/rls/test_data/reformat_with_range", "tools/rls/test_data/workspace_symbol", ] # Curiously, compiletest will segfault if compiled with opt-level=3 on 64-bit # MSVC when running the compile-fail test suite when a should-fail test panics. # But hey if this is removed and it gets past the bots, sounds good to me. [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 vesion). Unlike Cargo, however, the # RLS depends on `rustfmt` from crates.io, so we put this in a `[patch]` section # for crates.io rustfmt-nightly = { path = "tools/rustfmt" }