]> git.lizzy.rs Git - rust.git/blob - src/README.md
rollup merge of #19020: Gankro/better-warn
[rust.git] / src / README.md
1 This is a preliminary version of the Rust compiler, libraries and tools.
2
3 Source layout:
4
5 | Path                | Description                                               |
6 | ------------------- | --------------------------------------------------------- |
7 | `librustc/`         | The self-hosted compiler                                  |
8 | `liballoc/`         | Rust's core allocation library                            |
9 | `libcore/`          | The Rust core library                                     |
10 | `libdebug/`         | Debugging utilities                                       |
11 | `libstd/`           | The standard library (imported and linked by default)     |
12 | `libgreen/`         | The M:N runtime library                                   |
13 | `libnative/`        | The 1:1 runtime library                                   |
14 | `libsyntax/`        | The Rust parser and pretty-printer                        |
15 | `libtest/`          | Rust's test-runner code                                   |
16 | ------------------- | --------------------------------------------------------- |
17 | `libarena/`         | The arena (a fast but limited) memory allocator           |
18 | `libbacktrace/`     | The libbacktrace library                                  |
19 | `libcollections/`   | A collection of useful data structures and containers     |
20 | `libflate/`         | Simple compression library                                |
21 | `libfmt_macros/`    | Macro support for format strings                          |
22 | `libfourcc/`        | Data format identifier library                            |
23 | `libgetopts/`       | Get command-line-options library                          |
24 | `libglob/`          | Unix glob patterns library                                |
25 | `libgraphviz/`      | Generating files for Graphviz                             |
26 | `libhexfloat/`      | Hexadecimal floating-point literals                       |
27 | `liblibc/`          | Bindings for the C standard library                       |
28 | `liblog/`           | Utilities for program-wide and customizable logging       |
29 | `libnum/`           | Extended number support library (complex, rational, etc)  |
30 | `librand/`          | Random numbers and distributions                          |
31 | `libregex/`         | Regular expressions                                       |
32 | `libregex_macros/`  | The regex! syntax extension                               |
33 | `libsemver/`        | Rust's semantic versioning library                        |
34 | `libserialize/`     | Encode-Decode types library                               |
35 | `libsync/`          | Concurrency mechanisms and primitives                     |
36 | `libterm/`          | ANSI color library for terminals                          |
37 | `libtime/`          | Time operations library                                   |
38 | `liburl/`           | URL handling lirary                                       |
39 | `libuuid/`          | UUID's handling code                                      |
40 | ------------------- | --------------------------------------------------------- |
41 | `rt/`               | The runtime system                                        |
42 | `rt/rust_*.c`       | - Some of the runtime services                            |
43 | `rt/vg`             | - Valgrind headers                                        |
44 | `rt/msvc`           | - MSVC support                                            |
45 | `rt/sundown`        | - The Markdown library used by rustdoc                    |
46 | ------------------- | --------------------------------------------------------- |
47 | `compiletest/`      | The test runner                                           |
48 | `test/`             | Testsuite                                                 |
49 | `test/codegen`      | - Tests for the LLVM IR infrastructure                    |
50 | `test/compile-fail` | - Tests that should fail to compile                       |
51 | `test/debug-info`   | - Tests for the `debuginfo` tool                          |
52 | `test/run-fail`     | - Tests that should compile, run and fail                 |
53 | `test/run-make`     | - Tests that depend on a Makefile infrastructure          |
54 | `test/run-pass`     | - Tests that should compile, run and succeed              |
55 | `test/bench`        | - Benchmarks and miscellaneous                            |
56 | `test/pretty`       | - Pretty-printer tests                                    |
57 | `test/auxiliary`    | - Dependencies of tests                                   |
58 | ------------------- | --------------------------------------------------------- |
59 | `librustdoc/`       | The Rust API documentation tool                           |
60 | ------------------- | --------------------------------------------------------- |
61 | `llvm/`             | The LLVM submodule                                        |
62 | `rustllvm/`         | LLVM support code                                         |
63 | ------------------- | --------------------------------------------------------- |
64 | `etc/`              | Scripts, editors support, misc                            |
65
66
67 NOTE: This list (especially the second part of the table which contains modules and libraries)
68 is highly volatile and subject to change.