rust/src
Alex Crichton 5367c32c7d rustc: Never register syntax crates in CStore
When linking, all crates in the local CStore are used to link the final product.
With #[phase(syntax)], crates want to be omitted from this linkage phase, and
this was achieved by dumping the entire CStore after loading crates. This causes
crates like the standard library to get loaded twice. This loading process is a
fairly expensive operation when dealing with decompressing metadata.

This commit alters the loading process to never register syntax crates in
CStore. Instead, only phase(link) crates ever make their way into the map of
crates. The CrateLoader trait was altered to return everything in one method
instead of having separate methods for finding information.
2014-04-08 00:03:11 -07:00
..
compiler-rt@f4b221571c
compiletest auto merge of #13165 : sfackler/rust/io-vec, r=alexcrichton 2014-04-06 23:36:38 -07:00
doc Register new snapshots 2014-04-08 00:03:11 -07:00
driver Snapshot cleanup 2014-03-23 09:45:13 -07:00
etc auto merge of #13288 : alexcrichton/rust/remove-check-fast, r=brson 2014-04-07 11:26:37 -07:00
gyp@1e46da1000
libarena Register new snapshots 2014-04-04 13:23:08 -07:00
libbacktrace Bundle libbacktrace with the compiler 2014-03-11 21:02:34 -07:00
libcollections Register new snapshots 2014-04-08 00:03:11 -07:00
libflate Made libflate functions return Options instead of outright failing 2014-04-08 00:03:11 -07:00
libfourcc Bump version to 0.11-pre 2014-04-03 16:28:46 -07:00
libgetopts Register new snapshots 2014-04-04 13:23:08 -07:00
libglob Bump version to 0.11-pre 2014-04-03 16:28:46 -07:00
libgreen Register new snapshots 2014-04-08 00:03:11 -07:00
libhexfloat Bump version to 0.11-pre 2014-04-03 16:28:46 -07:00
liblibc Register new snapshots 2014-04-08 00:03:11 -07:00
liblog Fix inner attribute syntax from #[foo]; to #![foo] 2014-04-04 13:22:57 -07:00
libnative Register new snapshots 2014-04-08 00:03:11 -07:00
libnum Bump version to 0.11-pre 2014-04-03 16:28:46 -07:00
librand Register new snapshots 2014-04-08 00:03:11 -07:00
librustc rustc: Never register syntax crates in CStore 2014-04-08 00:03:11 -07:00
librustdoc auto merge of #13165 : sfackler/rust/io-vec, r=alexcrichton 2014-04-06 23:36:38 -07:00
librustuv Fix fallout from std::libc separation 2014-04-04 09:31:44 -07:00
libsemver Make the fields of semver::Version public again. 2014-04-05 13:44:50 +02:00
libserialize De-~[] Mem{Reader,Writer} 2014-04-06 15:40:01 -07:00
libstd std: Add more docs for ptr mod 2014-04-08 00:03:11 -07:00
libsync Register new snapshots 2014-04-08 00:03:11 -07:00
libsyntax rustc: Never register syntax crates in CStore 2014-04-08 00:03:11 -07:00
libterm De-~[] Reader and Writer 2014-04-06 15:39:56 -07:00
libtest Register new snapshots 2014-04-08 00:03:11 -07:00
libtime Fix fallout from std::libc separation 2014-04-04 09:31:44 -07:00
liburl De-~[] Mem{Reader,Writer} 2014-04-06 15:40:01 -07:00
libuuid Bump version to 0.11-pre 2014-04-03 16:28:46 -07:00
libuv@800b56fe6a
libworkcache Register new snapshots 2014-04-08 00:03:11 -07:00
llvm@263c617d66
rt rustuv: Handle short writes in uv_fs_write 2014-03-25 09:37:36 -07:00
rustllvm rustllvm: Remove a no longer needed file 2014-04-03 10:50:06 -07:00
test Register new snapshots 2014-04-08 00:03:11 -07:00
README.md
snapshots.txt Register new snapshots 2014-04-08 00:03:11 -07:00

This is a preliminary version of the Rust compiler, libraries and tools.

Source layout:

Path Description
librustc/ The self-hosted compiler
libstd/ The standard library (imported and linked by default)
libextra/ The "extras" library (slightly more peripheral code)
libgreen/ The M:N runtime library
libnative/ The 1:1 runtime library
libsyntax/ The Rust parser and pretty-printer
libcollections/ A collection of useful data structures and containers
libnum/ Extended number support library (complex, rational, etc)
libtest/ Rust's test-runner code
------------------- ---------------------------------------------------------
libarena/ The arena (a fast but limited) memory allocator
libflate/ Simple compression library
libfourcc/ Data format identifier library
libgetopts/ Get command-line-options library
libglob/ Unix glob patterns library
libsemver/ Rust's semantic versioning library
libserialize/ Encode-Decode types library
libsync/ Concurrency mechanisms and primitives
libterm/ ANSI color library for terminals
libtime/ Time operations library
libuuid/ UUID's handling code
------------------- ---------------------------------------------------------
rt/ The runtime system
rt/rust_*.c - Some of the runtime services
rt/vg - Valgrind headers
rt/msvc - MSVC support
rt/sundown - The Markdown library used by rustdoc
------------------- ---------------------------------------------------------
compiletest/ The test runner
test/ Testsuite
test/codegen - Tests for the LLVM IR infrastructure
test/compile-fail - Tests that should fail to compile
test/debug-info - Tests for the debuginfo tool
test/run-fail - Tests that should compile, run and fail
test/run-make - Tests that depend on a Makefile infrastructure
test/run-pass - Tests that should compile, run and succeed
test/bench - Benchmarks and miscellaneous
test/pretty - Pretty-printer tests
test/auxiliary - Dependencies of tests
------------------- ---------------------------------------------------------
librustdoc/ The Rust API documentation tool
libuv/ The libuv submodule
librustuv/ Rust libuv support code
------------------- ---------------------------------------------------------
llvm/ The LLVM submodule
rustllvm/ LLVM support code
------------------- ---------------------------------------------------------
etc/ Scripts, editors support, misc

NOTE: This list (especially the second part of the table which contains modules and libraries) is highly volatile and subject to change.