|
33 | 33 | - ["Cleanup Crew" ICE-breakers](ice-breaker/cleanup-crew.md)
|
34 | 34 | - [LLVM ICE-breakers](ice-breaker/llvm.md)
|
35 | 35 | - [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) |
37 | 38 | - [High-level overview of the compiler source](./high-level-overview.md)
|
38 | 39 | - [The Rustc Driver and Interface](./rustc-driver.md)
|
39 | 40 | - [Rustdoc](./rustdoc.md)
|
|
45 | 46 | - [Profiling Queries](./queries/profiling.md)
|
46 | 47 | - [Salsa](./salsa.md)
|
47 | 48 | - [Memory Management in Rustc](./memory.md)
|
| 49 | + |
| 50 | +- [Part 3: The Compiler Frontend](./part-3-intro.md) |
48 | 51 | - [Lexing and Parsing](./the-parser.md)
|
49 | 52 | - [`#[test]` Implementation](./test-implementation.md)
|
50 | 53 | - [Panic Implementation](./panic-implementation.md)
|
51 | 54 | - [Macro expansion](./macro-expansion.md)
|
52 | 55 | - [Name resolution](./name-resolution.md)
|
| 56 | + - [AST Validation](./ast-validation.md) |
53 | 57 | - [The HIR (High-level IR)](./hir.md)
|
54 | 58 | - [Lowering AST to HIR](./lowering.md)
|
55 | 59 | - [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) |
56 | 64 | - [Closure expansion](./closure.md)
|
| 65 | + |
| 66 | +- [Part 4: The Type System](./part-4-intro.md) |
57 | 67 | - [The `ty` module: representing types](./ty.md)
|
58 | 68 | - [Generics and substitutions](./generics.md)
|
59 | 69 | - [`TypeFolder` and `TypeFoldable`](./ty-fold.md)
|
|
81 | 91 | - [Method Lookup](./method-lookup.md)
|
82 | 92 | - [Variance](./variance.md)
|
83 | 93 | - [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) |
90 | 95 | - [The borrow checker](./borrow_check.md)
|
91 | 96 | - [Tracking moves and initialization](./borrow_check/moves_and_initialization.md)
|
92 | 97 | - [Move paths](./borrow_check/moves_and_initialization/move_paths.md)
|
|
99 | 104 | - [Closure constraints](./borrow_check/region_inference/closure_constraints.md)
|
100 | 105 | - [Error reporting](./borrow_check/region_inference/error_reporting.md)
|
101 | 106 | - [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) |
102 | 113 | - [Constant evaluation](./const-eval.md)
|
103 | 114 | - [miri const evaluator](./miri.md)
|
104 |
| - - [Parameter Environments](./param_env.md) |
105 | 115 | - [Compiler Backend](./backend/backend.md)
|
106 | 116 | - [Monomorphization](./backend/monomorph.md)
|
107 | 117 | - [Lowering MIR](./backend/lowering-mir.md)
|
|
0 commit comments