-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
Lazy compilation of libstd #36610
Comments
Lazy compilation of libstd entails compiling libstd on the developer's machine even though they installed a prebuilt rustc. It means libstd would be built with the same flags as all your cargo dependencies. It means being able to compile any C bits that libstd depends on on the developer's machine. It also means if the developer is using the stable version of Rust, rustc can still somehow build libstd despite its dependence on unstable features. |
I've added related issues from the top of my head to the top comment (I hope you don't mind @bstrie). |
Brief thoughts on building trusted unstable packages on stable: https://internals.rust-lang.org/t/brsons-someday-list/3948/10 |
I'm unsure whether this issue is still relevant; if a member of the compiler team happens to take a look at this and decide that this no longer reflects the current thinking then I'd be fine closing this. |
I would say rust-lang/wg-cargo-std-aware#51 this is its moral equivalent |
This looks like cargo's |
Updated (2016-09-21)
Blockers:
cargo build
ingstd
as a dylib #36501 can'tcargo build
std
because buildinglibstd.dylib
fails.cargo build
std
withjemalloc
enabled from therust-src
component on Linux.std
from therust-src
component will be the common case.Non-blockers:
cargo build
ingstd
withpanic=abort
#37252 LLVM assertion whencargo build
ingstd
withpanic=abort
compiler_builtins
: base conditional compilation on the specification of the target rather than on its triplecompiler_builtins
for custom targets.compiler-rt
intrinsics to Rust #35437 portcompiler-rt
intrinsics to Rustcompiler_builtins
to new targets and to add newintrinsics for features like
i128
.Food for thought:
std
on stable/beta.std
and other crates?Original issue
@alexcrichton in #34400:
(And I'm frankly not even sure what lazy compilation of libstd even entails, so I'll have to ask @alexcrichton to elaborate further.)
The text was updated successfully, but these errors were encountered: