Closed
Description
Updated (2016-09-21)
Blockers:
- Make Cargo aware of standard library dependencies rfcs#1133 make Cargo aware of std dependencies.
- Implementation: Phase 1 of stdlib dependencies (RFC #1133) cargo#2768
- Error
cargo build
ingstd
as a dylib #36501 can'tcargo build
std
because buildinglibstd.dylib
fails. - can't bootstrap compiler from the rust-src component because of file permissions #36488 can't
cargo build
std
withjemalloc
enabled from therust-src
component on Linux.- I'm assuming that building
std
from therust-src
component will be the common case.
- I'm assuming that building
Non-blockers:
- LLVM assertion when
cargo build
ingstd
withpanic=abort
#37252 LLVM assertion whencargo build
ingstd
withpanic=abort
- This is one of the main use cases
- compiler_builtins: base conditional compilation on the specification #36512
compiler_builtins
: base conditional compilation on the specification of the target rather than on its triple- Should make it easier/possible to compile
compiler_builtins
for custom targets.
- Should make it easier/possible to compile
- Port
compiler-rt
intrinsics to Rust #35437 portcompiler-rt
intrinsics to Rust- Should make it easier to port
compiler_builtins
to new targets and to add new
intrinsics for features likei128
. - Initial work: https://github.com/japaric/rustc-builtins
- Merging into rust-lang/rust metabug: rust-lang/rust integration metabug compiler-builtins#66
- Should make it easier to port
Food for thought:
- Escape hatch for compiling
std
on stable/beta. - Stability of this feature? Stability of Cargo features exposed by
std
and other crates?
Original issue
@alexcrichton in #34400:
One of the major blockers of our dream to "lazily compile std" is to ensure that we have the ability to compile compiler-rt on-demand.
#34400 was sort of half-tracking this issue before being closed by #35021, whose PR message implies that the bit about lazy compilation is yet to be done.
(And I'm frankly not even sure what lazy compilation of libstd even entails, so I'll have to ask @alexcrichton to elaborate further.)