Update 'Workspace structure' section (#1017)

* Update description of `src/`
* Note that `library/` also contains the Rust runtime
This commit is contained in:
Camelid 2021-01-10 13:19:39 -08:00 committed by GitHub
parent d87e197f26
commit e7ac2ff724
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 12 additions and 6 deletions

View File

@ -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 The `rust-lang/rust` repository consists of a single large cargo workspace
containing the compiler, the standard libraries (`core`, `alloc`, `std`, 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. tools and submodules for building a full Rust distribution.
As of this writing, this structure is gradually undergoing some transformation As of this writing, this structure is gradually undergoing some transformation
to make it a bit less monolithic and more approachable, especially to to make it a bit less monolithic and more approachable, especially to
newcomers. newcomers.
The repository consists of a `src` directory, under which there live many The repository consists of three main directories:
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 - `compiler/` contains the source code for `rustc`. It consists of many crates
`library/` directory, where the standard libraries (`core`, `alloc`, `std`, that together make up the compiler.
`proc_macro`, etc) live.
- `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 ## Standard library