-
Notifications
You must be signed in to change notification settings - Fork 13.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
minimize the rust-std component #64823
Conversation
(rust_highfive has picked a reviewer for you, use r? to override) |
rust-std contents
rust-stdZ contents
|
I do think this is a conversation worth having -- at least, it would make sense to me to not ship these components on beta/stable, since to my knowledge no one (should be) using them there; even we don't do so in-tree. I think in some sense this is also a broader question than just release team, though I'm not sure what teams I'd include necessarily. I guess maybe compiler and infra teams? |
This seems like an excellent idea! One wonders why we haven't done this before... |
(Summary from discussion on Discord): I think we should move out the sanitizers (tsan, lsan, msan, asan) from the rust-std component as well. In total they account for 14M which is 8% of 171M -- that's not nothing. Also worth noting that the sanitizers are unstable (see #47174) and not available on all tier-1 targets (e.g. macOS). Many people have no clue how to use them, including myself. |
Oh, the sanitizers are a direct dependency of Lines 37 to 45 in ddf4386
|
Aren't the I would probably suggest |
You need them to cross compile for example miri. |
This looks like it will be fixing #44037. |
The latter -- the
I'm fine with the name Status: the code as-is works for |
f1fbbf0
to
465f93c
Compare
I think this is in a fairly good state now, with a |
I personally am not sure who all should be in charge of this decision so I'll try and bring it up at core team meeting tomorrow. I myself believe this to be a good step to take presuming it doesn't break anything for our own shipped tools (RLS, clippy). |
@bors try |
⌛ Trying commit 637ad7bea122e567530aa234eabfdfc8ed633f53 with merge 98951af235be5a9ac3aa0b556298b09d97d97924... |
☀️ Try build successful - checks-azure |
I'm not sure if I'll make it to triage this afternoon but wanted to say that I'm also in favor of this, it's indeed a bummer that a few hundred never-used megabytes are downloaded for only wanting libstd! I do think that separation into |
FWIW this is being reverted in #65342 because of the problems it caused. |
Since it was reverted due to problems, is this pullrequest going to be rebooted at some point in the future? |
Split the rustc target libraries into separate rustc-dev component This is re-applies a squashed version of #64823 as well as including #65337 to fix bugs noted after merging the first PR. The second PR is confirmed as fixing windows-gnu, and presumably also fixes other platforms, such as musl (i.e. #65335 should be fixed); `RUSTUP_DIST_SERVER=https://dev-static.rust-lang.org rustup toolchain install nightly-2019-10-16` can be installed to confirm that this is indeed the case.
Split the rustc target libraries into separate rustc-dev component This is re-applies a squashed version of #64823 as well as including #65337 to fix bugs noted after merging the first PR. The second PR is confirmed as fixing windows-gnu, and presumably also fixes other platforms, such as musl (i.e. #65335 should be fixed); `RUSTUP_DIST_SERVER=https://dev-static.rust-lang.org rustup toolchain install nightly-2019-10-16` can be installed to confirm that this is indeed the case.
pr65474 minimizes the amount of files needed for the install of a rust-std component by not merging certain dev-header files and other instable components. more information: rust-lang/rust#64823 rust-lang/rust#65474 I opted for +-r1 and dropped keywords, for testing. Also included pr66103, it shouldn't hurt anyone. Signed-off-by: Steffen Kuhn <[email protected]>
pr65474 minimizes the amount of files needed for the install of a rust-std component by not merging certain dev-header files and other instable components. more information: rust-lang/rust#64823 rust-lang/rust#65474 I opted for +-r1 and dropped keywords, for testing. Also included pr66103, it shouldn't hurt anyone. Signed-off-by: Steffen Kuhn <[email protected]> Closes: #464 Signed-off-by: Mikhail Pukhlikov <[email protected]>
pr65474 minimizes the amount of files needed for the install of a rust-std component by not merging certain dev-header files and other instable components. more information: rust-lang/rust#64823 rust-lang/rust#65474 Signed-off-by: Steffen Kuhn <[email protected]>
This enables to compile rls and rustc See also rust-lang/rust#64823
This changes the
rust-std
dist component to only include the artifacts of compiling thelibstd
step, as listed in.libstd.stamp
. This does includetest
andproc-macro
as well. The remaining unstable libraries that are built as part ofrustc
are packaged into a newrustc-dev
component, intended for use in the development of closely related tools (clippy, miri, rls).Here are the component sizes from the try build:
Fixes #61978
Fixes #62486