From e7ac2ff724ae63c42ced14b8d8ef8cec3d67924b Mon Sep 17 00:00:00 2001 From: Camelid Date: Sun, 10 Jan 2021 13:19:39 -0800 Subject: [PATCH] Update 'Workspace structure' section (#1017) * Update description of `src/` * Note that `library/` also contains the Rust runtime --- src/compiler-src.md | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/compiler-src.md b/src/compiler-src.md index b26ede57..bcf169a1 100644 --- a/src/compiler-src.md +++ b/src/compiler-src.md @@ -15,18 +15,24 @@ look at the structure of the contents of the rust-lang/rust repo. The `rust-lang/rust` repository consists of a single large cargo workspace containing the compiler, the standard libraries (`core`, `alloc`, `std`, -`proc_macro`, etc), and `rustdoc`, along with the build system and bunch of +`proc_macro`, etc), and `rustdoc`, along with the build system and a bunch of tools and submodules for building a full Rust distribution. As of this writing, this structure is gradually undergoing some transformation to make it a bit less monolithic and more approachable, especially to newcomers. -The repository consists of a `src` directory, under which there live many -crates, which are the source for the compiler, build system, tools, etc. This -directory is currently being broken up to be less monolithic. There is also a -`library/` directory, where the standard libraries (`core`, `alloc`, `std`, -`proc_macro`, etc) live. +The repository consists of three main directories: + +- `compiler/` contains the source code for `rustc`. It consists of many crates + that together make up the compiler. + +- `library/` contains the standard libraries (`core`, `alloc`, `std`, + `proc_macro`, `test`), as well as the Rust runtime (`backtrace`, `rtstartup`, + `lang_start`). + +- `src/` contains the source code for rustdoc, clippy, cargo, the build system, + language docs, etc. ## Standard library