]>
Commit | Line | Data |
---|---|---|
a1dfa0c6 XL |
1 | # Summary |
2 | ||
532ac7d7 XL |
3 | [About this guide](./about-this-guide.md) |
4 | ||
5 | --- | |
6 | ||
7 | - [Part 1: Building, debugging, and contributing to Rustc](./part-1-intro.md) | |
dc9dc135 | 8 | - [About the compiler team](./compiler-team.md) |
60c5eb7d XL |
9 | - [How to Build and Run the Compiler](./building/how-to-build-and-run.md) |
10 | - [Suggested Workflows](./building/suggested.md) | |
11 | - [Bootstrapping](./building/bootstrapping.md) | |
12 | - [Distribution artifacts](./building/build-install-distribution-artifacts.md) | |
13 | - [Documenting Compiler](./building/compiler-documenting.md) | |
14 | - [ctags](./building/ctags.md) | |
dc9dc135 XL |
15 | - [The compiler testing framework](./tests/intro.md) |
16 | - [Running tests](./tests/running.md) | |
17 | - [Adding new tests](./tests/adding.md) | |
18 | - [Using `compiletest` + commands to control test execution](./compiletest.md) | |
19 | - [Walkthrough: a typical contribution](./walkthrough.md) | |
dfeec247 | 20 | - [Bug Fix Procedure](./bug-fix-procedure.md) |
dc9dc135 | 21 | - [Implementing new features](./implementing_new_features.md) |
e1599b0c | 22 | - [Stability attributes](./stability.md) |
dc9dc135 XL |
23 | - [Stabilizing Features](./stabilization_guide.md) |
24 | - [Debugging the Compiler](./compiler-debugging.md) | |
25 | - [Profiling the compiler](./profiling.md) | |
26 | - [with the linux perf tool](./profiling/with_perf.md) | |
27 | - [Coding conventions](./conventions.md) | |
28 | - [crates.io Dependencies](./crates-io.md) | |
29 | - [Emitting Errors and other Diagnostics](diagnostics.md) | |
60c5eb7d | 30 | - [`LintStore`](./diagnostics/lintstore.md) |
dfeec247 | 31 | - [Diagnostic Codes](./diagnostics/diagnostic-codes.md) |
60c5eb7d | 32 | - [ICE-breaker teams](ice-breaker/about.md) |
74b04a01 | 33 | - ["Cleanup Crew" ICE-breakers](ice-breaker/cleanup-crew.md) |
60c5eb7d | 34 | - [LLVM ICE-breakers](ice-breaker/llvm.md) |
ba9703b0 XL |
35 | - [Licenses](./licenses.md) |
36 | ||
37 | - [Part 2: High-level Compiler Architecture](./part-2-intro.md) | |
38 | - [Overview of the Compiler](./overview.md) | |
39 | - [The compiler source code](./compiler-src.md) | |
dc9dc135 XL |
40 | - [Queries: demand-driven compilation](./query.md) |
41 | - [The Query Evaluation Model in Detail](./queries/query-evaluation-model-in-detail.md) | |
42 | - [Incremental compilation](./queries/incremental-compilation.md) | |
43 | - [Incremental compilation In Detail](./queries/incremental-compilation-in-detail.md) | |
44 | - [Debugging and Testing](./incrcomp-debugging.md) | |
dfeec247 | 45 | - [Profiling Queries](./queries/profiling.md) |
60c5eb7d | 46 | - [Salsa](./salsa.md) |
74b04a01 | 47 | - [Memory Management in Rustc](./memory.md) |
ba9703b0 XL |
48 | |
49 | - [Part 3: Source Code Representations](./part-3-intro.md) | |
50 | - [The Rustc Driver and Interface](./rustc-driver.md) | |
51 | - [Rustdoc](./rustdoc.md) | |
52 | - [Ex: Type checking through `rustc_interface`](./rustc-driver-interacting-with-the-ast.md) | |
53 | - [Syntax and the AST](./syntax-intro.md) | |
54 | - [Lexing and Parsing](./the-parser.md) | |
55 | - [`#[test]` Implementation](./test-implementation.md) | |
56 | - [Panic Implementation](./panic-implementation.md) | |
57 | - [Macro expansion](./macro-expansion.md) | |
58 | - [Name resolution](./name-resolution.md) | |
59 | - [AST Validation](./ast-validation.md) | |
60 | - [Feature Gate Checking](./feature-gate-ck.md) | |
dc9dc135 XL |
61 | - [The HIR (High-level IR)](./hir.md) |
62 | - [Lowering AST to HIR](./lowering.md) | |
63 | - [Debugging](./hir-debugging.md) | |
ba9703b0 XL |
64 | - [The MIR (Mid-level IR)](./mir/index.md) |
65 | - [HAIR and MIR construction](./mir/construction.md) | |
66 | - [MIR visitor and traversal](./mir/visitor.md) | |
67 | - [MIR passes: getting the MIR for a function](./mir/passes.md) | |
dc9dc135 | 68 | - [Closure expansion](./closure.md) |
ba9703b0 XL |
69 | |
70 | - [Part 4: Analysis](./part-4-intro.md) | |
dc9dc135 | 71 | - [The `ty` module: representing types](./ty.md) |
74b04a01 XL |
72 | - [Generics and substitutions](./generics.md) |
73 | - [`TypeFolder` and `TypeFoldable`](./ty-fold.md) | |
ba9703b0 | 74 | - [Generic arguments](./generic_arguments.md) |
dc9dc135 XL |
75 | - [Type inference](./type-inference.md) |
76 | - [Trait solving (old-style)](./traits/resolution.md) | |
77 | - [Higher-ranked trait bounds](./traits/hrtb.md) | |
78 | - [Caching subtleties](./traits/caching.md) | |
79 | - [Specialization](./traits/specialization.md) | |
80 | - [Trait solving (new-style)](./traits/index.md) | |
81 | - [Lowering to logic](./traits/lowering-to-logic.md) | |
82 | - [Goals and clauses](./traits/goals-and-clauses.md) | |
83 | - [Equality and associated types](./traits/associated-types.md) | |
84 | - [Implied bounds](./traits/implied-bounds.md) | |
85 | - [Region constraints](./traits/regions.md) | |
86 | - [The lowering module in rustc](./traits/lowering-module.md) | |
87 | - [Lowering rules](./traits/lowering-rules.md) | |
88 | - [Well-formedness checking](./traits/wf.md) | |
89 | - [Canonical queries](./traits/canonical-queries.md) | |
90 | - [Canonicalization](./traits/canonicalization.md) | |
91 | - [The SLG solver](./traits/slg.md) | |
92 | - [An Overview of Chalk](./traits/chalk-overview.md) | |
93 | - [Bibliography](./traits/bibliography.md) | |
94 | - [Type checking](./type-checking.md) | |
95 | - [Method Lookup](./method-lookup.md) | |
96 | - [Variance](./variance.md) | |
e1599b0c | 97 | - [Opaque Types](./opaque-types-type-alias-impl-trait.md) |
ba9703b0 | 98 | - [Pattern and Exhaustiveness Checking](./pat-exhaustive-checking.md) |
dc9dc135 XL |
99 | - [The borrow checker](./borrow_check.md) |
100 | - [Tracking moves and initialization](./borrow_check/moves_and_initialization.md) | |
101 | - [Move paths](./borrow_check/moves_and_initialization/move_paths.md) | |
102 | - [MIR type checker](./borrow_check/type_check.md) | |
103 | - [Region inference](./borrow_check/region_inference.md) | |
104 | - [Constraint propagation](./borrow_check/region_inference/constraint_propagation.md) | |
105 | - [Lifetime parameters](./borrow_check/region_inference/lifetime_parameters.md) | |
106 | - [Member constraints](./borrow_check/region_inference/member_constraints.md) | |
107 | - [Placeholders and universes][pau] | |
108 | - [Closure constraints](./borrow_check/region_inference/closure_constraints.md) | |
416331ca | 109 | - [Error reporting](./borrow_check/region_inference/error_reporting.md) |
dc9dc135 | 110 | - [Two-phase-borrows](./borrow_check/two_phase_borrows.md) |
ba9703b0 XL |
111 | - [Parameter Environments](./param_env.md) |
112 | ||
113 | - [Part 5: From MIR to binaries](./part-5-intro.md) | |
114 | - [The MIR (Mid-level IR)](./mir/index.md) | |
115 | - [MIR optimizations](./mir/optimizations.md) | |
116 | - [Debugging](./mir/debugging.md) | |
dc9dc135 XL |
117 | - [Constant evaluation](./const-eval.md) |
118 | - [miri const evaluator](./miri.md) | |
ba9703b0 XL |
119 | - [Monomorphization](./backend/monomorph.md) |
120 | - [Lowering MIR](./backend/lowering-mir.md) | |
121 | - [Code Generation](./backend/codegen.md) | |
122 | - [Updating LLVM](./backend/updating-llvm.md) | |
123 | - [Debugging LLVM](./backend/debugging.md) | |
124 | - [Backend Agnostic Codegen](./backend/backend-agnostic.md) | |
125 | - [Implicit Caller Location](./codegen/implicit-caller-location.md) | |
dc9dc135 | 126 | - [Profile-guided Optimization](./profile-guided-optimization.md) |
60c5eb7d | 127 | - [Sanitizers Support](./sanitizers.md) |
dc9dc135 | 128 | - [Debugging Support in Rust Compiler](./debugging-support-in-rustc.md) |
a1dfa0c6 XL |
129 | |
130 | --- | |
131 | ||
ba9703b0 XL |
132 | [Appendix A: Background material](./appendix/background.md) |
133 | [Appendix B: Glossary](./appendix/glossary.md) | |
134 | [Appendix C: Code Index](./appendix/code-index.md) | |
135 | [Appendix D: Compiler Lecture Series](./appendix/compiler-lecture.md) | |
136 | [Appendix E: Bibliography](./appendix/bibliography.md) | |
416331ca XL |
137 | |
138 | [Appendix Z: HumorRust](./appendix/humorust.md) | |
139 | ||
140 | --- | |
141 | ||
dc9dc135 | 142 | [pau]: ./borrow_check/region_inference/placeholders_and_universes.md |