]> git.proxmox.com Git - rustc.git/blame - src/doc/rustc-dev-guide/src/SUMMARY.md
New upstream version 1.66.0+dfsg1
[rustc.git] / src / doc / rustc-dev-guide / src / SUMMARY.md
CommitLineData
a1dfa0c6
XL
1# Summary
2
532ac7d7
XL
3[About this guide](./about-this-guide.md)
4
6a06907d
XL
5[Getting Started](./getting-started.md)
6
532ac7d7
XL
7---
8
6a06907d
XL
9# Building and debugging `rustc`
10
11- [How to Build and Run the Compiler](./building/how-to-build-and-run.md)
12 - [Prerequisites](./building/prerequisites.md)
13 - [Suggested Workflows](./building/suggested.md)
14 - [Distribution artifacts](./building/build-install-distribution-artifacts.md)
064997fb 15 - [Building Documentation](./building/compiler-documenting.md)
6a06907d 16 - [Rustdoc overview](./rustdoc.md)
6a06907d 17 - [Adding a new target](./building/new-target.md)
5099ac24 18- [Testing the compiler](./tests/intro.md)
6a06907d 19 - [Running tests](./tests/running.md)
5099ac24
FG
20 - [Testing with Docker](./tests/docker.md)
21 - [Testing with CI](./tests/ci.md)
6a06907d 22 - [Adding new tests](./tests/adding.md)
5099ac24
FG
23 - [Compiletest](./tests/compiletest.md)
24 - [UI tests](./tests/ui.md)
25 - [Test headers](./tests/headers.md)
26 - [Performance testing](./tests/perf.md)
27 - [Crater](./tests/crater.md)
6a06907d 28- [Debugging the Compiler](./compiler-debugging.md)
c295e0f8 29 - [Using the tracing/logging instrumentation](./tracing.md)
6a06907d
XL
30- [Profiling the compiler](./profiling.md)
31 - [with the linux perf tool](./profiling/with_perf.md)
32 - [with Windows Performance Analyzer](./profiling/wpa_profiling.md)
33- [crates.io Dependencies](./crates-io.md)
34
35
36# Contributing to Rust
37
38- [Introduction](./contributing.md)
39- [About the compiler team](./compiler-team.md)
40- [Using Git](./git.md)
41- [Mastering @rustbot](./rustbot.md)
42- [Walkthrough: a typical contribution](./walkthrough.md)
43- [Bug Fix Procedure](./bug-fix-procedure.md)
44- [Implementing new features](./implementing_new_features.md)
45- [Stability attributes](./stability.md)
46- [Stabilizing Features](./stabilization_guide.md)
47- [Feature Gates](./feature-gates.md)
48- [Coding conventions](./conventions.md)
49- [Notification groups](notification-groups/about.md)
50 - [ARM](notification-groups/arm.md)
51 - [Cleanup Crew](notification-groups/cleanup-crew.md)
52 - [LLVM](notification-groups/llvm.md)
53 - [RISC-V](notification-groups/risc-v.md)
54 - [Windows](notification-groups/windows.md)
55- [Licenses](./licenses.md)
56
57# High-level Compiler Architecture
58
59- [Prologue](./part-2-intro.md)
60- [Overview of the Compiler](./overview.md)
61- [The compiler source code](./compiler-src.md)
62- [Bootstrapping](./building/bootstrapping.md)
63- [Queries: demand-driven compilation](./query.md)
64 - [The Query Evaluation Model in Detail](./queries/query-evaluation-model-in-detail.md)
65 - [Incremental compilation](./queries/incremental-compilation.md)
66 - [Incremental compilation In Detail](./queries/incremental-compilation-in-detail.md)
67 - [Debugging and Testing](./incrcomp-debugging.md)
6a06907d
XL
68 - [Salsa](./salsa.md)
69- [Memory Management in Rustc](./memory.md)
70- [Serialization in Rustc](./serialization.md)
71- [Parallel Compilation](./parallel-rustc.md)
72- [Rustdoc internals](./rustdoc-internals.md)
73
74# Source Code Representation
75
76- [Prologue](./part-3-intro.md)
77- [Command-line arguments](./cli.md)
78- [The Rustc Driver and Interface](./rustc-driver.md)
923072b8
FG
79 - [Example: Type checking](./rustc-driver-interacting-with-the-ast.md)
80 - [Example: Getting diagnostics](./rustc-driver-getting-diagnostics.md)
6a06907d
XL
81- [Syntax and the AST](./syntax-intro.md)
82 - [Lexing and Parsing](./the-parser.md)
83 - [Macro expansion](./macro-expansion.md)
84 - [Name resolution](./name-resolution.md)
85 - [`#[test]` Implementation](./test-implementation.md)
86 - [Panic Implementation](./panic-implementation.md)
87 - [AST Validation](./ast-validation.md)
88 - [Feature Gate Checking](./feature-gate-ck.md)
136023e0 89 - [Lang Items](./lang-items.md)
6a06907d
XL
90- [The HIR (High-level IR)](./hir.md)
91 - [Lowering AST to HIR](./lowering.md)
92 - [Debugging](./hir-debugging.md)
93- [The THIR (Typed High-level IR)](./thir.md)
94- [The MIR (Mid-level IR)](./mir/index.md)
95 - [MIR construction](./mir/construction.md)
96 - [MIR visitor and traversal](./mir/visitor.md)
97 - [MIR passes: getting the MIR for a function](./mir/passes.md)
98- [Identifiers in the Compiler](./identifiers.md)
99- [Closure expansion](./closure.md)
5099ac24 100- [Inline assembly](./asm.md)
6a06907d
XL
101
102# Analysis
103
104- [Prologue](./part-4-intro.md)
105- [The `ty` module: representing types](./ty.md)
106 - [Generics and substitutions](./generics.md)
107 - [`TypeFolder` and `TypeFoldable`](./ty-fold.md)
108 - [Generic arguments](./generic_arguments.md)
c295e0f8 109 - [Constants in the type system](./constants.md)
6a06907d
XL
110- [Type inference](./type-inference.md)
111- [Trait solving](./traits/resolution.md)
112 - [Early and Late Bound Parameters](./early-late-bound.md)
113 - [Higher-ranked trait bounds](./traits/hrtb.md)
114 - [Caching subtleties](./traits/caching.md)
115 - [Specialization](./traits/specialization.md)
116 - [Chalk-based trait solving](./traits/chalk.md)
dc9dc135 117 - [Lowering to logic](./traits/lowering-to-logic.md)
6a06907d 118 - [Goals and clauses](./traits/goals-and-clauses.md)
dc9dc135 119 - [Canonical queries](./traits/canonical-queries.md)
6a06907d
XL
120- [Type checking](./type-checking.md)
121 - [Method Lookup](./method-lookup.md)
122 - [Variance](./variance.md)
123 - [Opaque Types](./opaque-types-type-alias-impl-trait.md)
064997fb 124 - [Inference details](./opaque-types-impl-trait-inference.md)
6a06907d
XL
125- [Pattern and Exhaustiveness Checking](./pat-exhaustive-checking.md)
126- [MIR dataflow](./mir/dataflow.md)
3c0e092e 127- [Drop elaboration](./mir/drop-elaboration.md)
6a06907d
XL
128- [The borrow checker](./borrow_check.md)
129 - [Tracking moves and initialization](./borrow_check/moves_and_initialization.md)
130 - [Move paths](./borrow_check/moves_and_initialization/move_paths.md)
131 - [MIR type checker](./borrow_check/type_check.md)
132 - [Region inference](./borrow_check/region_inference.md)
133 - [Constraint propagation](./borrow_check/region_inference/constraint_propagation.md)
134 - [Lifetime parameters](./borrow_check/region_inference/lifetime_parameters.md)
135 - [Member constraints](./borrow_check/region_inference/member_constraints.md)
136 - [Placeholders and universes][pau]
137 - [Closure constraints](./borrow_check/region_inference/closure_constraints.md)
138 - [Error reporting](./borrow_check/region_inference/error_reporting.md)
139 - [Two-phase-borrows](./borrow_check/two_phase_borrows.md)
140- [Parameter Environments](./param_env.md)
141- [Errors and Lints](diagnostics.md)
923072b8
FG
142 - [Diagnostic and subdiagnostic structs](./diagnostics/diagnostic-structs.md)
143 - [Translation](./diagnostics/translation.md)
6a06907d 144 - [`LintStore`](./diagnostics/lintstore.md)
923072b8
FG
145 - [Diagnostic codes](./diagnostics/diagnostic-codes.md)
146 - [Diagnostic items](./diagnostics/diagnostic-items.md)
04454e1e 147 - [`ErrorGuaranteed`](./diagnostics/error-guaranteed.md)
6a06907d
XL
148
149# MIR to Binaries
150
151- [Prologue](./part-5-intro.md)
152- [MIR optimizations](./mir/optimizations.md)
153- [Debugging](./mir/debugging.md)
154- [Constant evaluation](./const-eval.md)
2b03887a 155 - [Interpreter](./const-eval/interpret.md)
6a06907d
XL
156- [Monomorphization](./backend/monomorph.md)
157- [Lowering MIR](./backend/lowering-mir.md)
158- [Code Generation](./backend/codegen.md)
159 - [Updating LLVM](./backend/updating-llvm.md)
160 - [Debugging LLVM](./backend/debugging.md)
161 - [Backend Agnostic Codegen](./backend/backend-agnostic.md)
162 - [Implicit Caller Location](./backend/implicit-caller-location.md)
163- [Libraries and Metadata](./backend/libs-and-metadata.md)
164- [Profile-guided Optimization](./profile-guided-optimization.md)
165- [LLVM Source-Based Code Coverage](./llvm-coverage-instrumentation.md)
166- [Sanitizers Support](./sanitizers.md)
167- [Debugging Support in the Rust Compiler](./debugging-support-in-rustc.md)
a1dfa0c6
XL
168
169---
170
6a06907d 171[Appendix A: Background topics](./appendix/background.md)
ba9703b0
XL
172[Appendix B: Glossary](./appendix/glossary.md)
173[Appendix C: Code Index](./appendix/code-index.md)
174[Appendix D: Compiler Lecture Series](./appendix/compiler-lecture.md)
175[Appendix E: Bibliography](./appendix/bibliography.md)
416331ca
XL
176
177[Appendix Z: HumorRust](./appendix/humorust.md)
178
179---
180
dc9dc135 181[pau]: ./borrow_check/region_inference/placeholders_and_universes.md