Skip to content

Commit f1e0fbc

Browse files
committed
start on guide reorg
1 parent ce08bcc commit f1e0fbc

File tree

3 files changed

+32
-17
lines changed

3 files changed

+32
-17
lines changed

src/SUMMARY.md

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@
3333
- ["Cleanup Crew" ICE-breakers](ice-breaker/cleanup-crew.md)
3434
- [LLVM ICE-breakers](ice-breaker/llvm.md)
3535
- [Licenses](./licenses.md)
36-
- [Part 2: How rustc works](./part-2-intro.md)
36+
37+
- [Part 2: High-level Compiler Architecture](./part-2-intro.md)
3738
- [High-level overview of the compiler source](./high-level-overview.md)
3839
- [The Rustc Driver and Interface](./rustc-driver.md)
3940
- [Rustdoc](./rustdoc.md)
@@ -45,15 +46,24 @@
4546
- [Profiling Queries](./queries/profiling.md)
4647
- [Salsa](./salsa.md)
4748
- [Memory Management in Rustc](./memory.md)
49+
50+
- [Part 3: The Compiler Frontend](./part-3-intro.md)
4851
- [Lexing and Parsing](./the-parser.md)
4952
- [`#[test]` Implementation](./test-implementation.md)
5053
- [Panic Implementation](./panic-implementation.md)
5154
- [Macro expansion](./macro-expansion.md)
5255
- [Name resolution](./name-resolution.md)
56+
- [AST Validation](./ast-validation.md)
5357
- [The HIR (High-level IR)](./hir.md)
5458
- [Lowering AST to HIR](./lowering.md)
5559
- [Debugging](./hir-debugging.md)
60+
- [The MIR (Mid-level IR)](./mir/index.md)
61+
- [HAIR MIR construction](./mir/construction.md)
62+
- [MIR visitor and traversal](./mir/visitor.md)
63+
- [MIR passes: getting the MIR for a function](./mir/passes.md)
5664
- [Closure expansion](./closure.md)
65+
66+
- [Part 4: The Type System](./part-4-intro.md)
5767
- [The `ty` module: representing types](./ty.md)
5868
- [Generics and substitutions](./generics.md)
5969
- [`TypeFolder` and `TypeFoldable`](./ty-fold.md)
@@ -81,12 +91,7 @@
8191
- [Method Lookup](./method-lookup.md)
8292
- [Variance](./variance.md)
8393
- [Opaque Types](./opaque-types-type-alias-impl-trait.md)
84-
- [The MIR (Mid-level IR)](./mir/index.md)
85-
- [MIR construction](./mir/construction.md)
86-
- [MIR visitor and traversal](./mir/visitor.md)
87-
- [MIR passes: getting the MIR for a function](./mir/passes.md)
88-
- [MIR optimizations](./mir/optimizations.md)
89-
- [Debugging](./mir/debugging.md)
94+
- [Pattern and Exhaustiveness Checking](./pat-exhaustive-checking.md)
9095
- [The borrow checker](./borrow_check.md)
9196
- [Tracking moves and initialization](./borrow_check/moves_and_initialization.md)
9297
- [Move paths](./borrow_check/moves_and_initialization/move_paths.md)
@@ -99,9 +104,14 @@
99104
- [Closure constraints](./borrow_check/region_inference/closure_constraints.md)
100105
- [Error reporting](./borrow_check/region_inference/error_reporting.md)
101106
- [Two-phase-borrows](./borrow_check/two_phase_borrows.md)
107+
- [Parameter Environments](./param_env.md)
108+
109+
- [Part 5: The Compiler Backend](./part-5-intro.md)
110+
- [The MIR (Mid-level IR)](./mir/index.md)
111+
- [MIR optimizations](./mir/optimizations.md)
112+
- [Debugging](./mir/debugging.md)
102113
- [Constant evaluation](./const-eval.md)
103114
- [miri const evaluator](./miri.md)
104-
- [Parameter Environments](./param_env.md)
105115
- [Compiler Backend](./backend/backend.md)
106116
- [Monomorphization](./backend/monomorph.md)
107117
- [Lowering MIR](./backend/lowering-mir.md)

src/about-this-guide.md

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,19 @@
22

33
This guide is meant to help document how rustc – the Rust compiler –
44
works, as well as to help new contributors get involved in rustc
5-
development. It is not meant to replace code documentation – each
6-
chapter gives only high-level details, the kinds of things that
7-
(ideally) don't change frequently.
8-
9-
There are three parts to this guide. Part 1 contains information that should
10-
be useful no matter how you are contributing. Part 2 contains information
11-
about how the compiler works. Finally, there are some appendices at the
12-
end with useful reference information.
5+
development.
6+
7+
There are six parts to this guide:
8+
9+
1. Contains information that should be useful no matter how you are
10+
contributing, such as procedures for contribution, building the compiler,
11+
etc.
12+
2. Discusses the high-level architecture of the compiler, especially the query
13+
system.
14+
3. Discusses the compiler frontend and internal representations.
15+
4. Discusses the type system.
16+
5. Discusses the compiler backend, code generation, linking, and debug info.
17+
6. Appendices at the end with useful reference information.
1318

1419
The guide itself is of course open-source as well, and the sources can
1520
be found at the [GitHub repository]. If you find any mistakes in the

src/mir/construction.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# MIR construction
1+
# HAIR and MIR construction
22

33
The lowering of [HIR] to [MIR] occurs for the following (probably incomplete)
44
list of items:

0 commit comments

Comments
 (0)