Upgrade to mdbook 0.4 and switch to book parts (#764)
* upgrade to mdbook 0.4 and switch to book parts * update linkcheck * fix links, update about-this-guide
This commit is contained in:
parent
541f88e8dd
commit
32c4f1aa61
|
|
@ -11,8 +11,8 @@ before_install:
|
||||||
- MAX_LINE_LENGTH=100 bash ci/check_line_lengths.sh src/**/*.md
|
- MAX_LINE_LENGTH=100 bash ci/check_line_lengths.sh src/**/*.md
|
||||||
install:
|
install:
|
||||||
- source ~/.cargo/env || true
|
- source ~/.cargo/env || true
|
||||||
- cargo install mdbook --version 0.3.7
|
- cargo install mdbook --version 0.4.0
|
||||||
- cargo install mdbook-linkcheck --version 0.5.0
|
- cargo install mdbook-linkcheck --version 0.7.0
|
||||||
script:
|
script:
|
||||||
- git checkout -b ci
|
- git checkout -b ci
|
||||||
- git rebase origin/master
|
- git rebase origin/master
|
||||||
|
|
|
||||||
249
src/SUMMARY.md
249
src/SUMMARY.md
|
|
@ -4,128 +4,141 @@
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
- [Part 1: Building, debugging, and contributing to Rustc](./part-1-intro.md)
|
# Building and debugging `rustc`
|
||||||
|
|
||||||
|
- [Getting Started](./getting-started.md)
|
||||||
|
- [How to Build and Run the Compiler](./building/how-to-build-and-run.md)
|
||||||
- [Prerequisites](./building/prerequisites.md)
|
- [Prerequisites](./building/prerequisites.md)
|
||||||
- [Getting Started](./getting-started.md)
|
- [Suggested Workflows](./building/suggested.md)
|
||||||
- [About the compiler team](./compiler-team.md)
|
- [Bootstrapping](./building/bootstrapping.md)
|
||||||
- [How to Build and Run the Compiler](./building/how-to-build-and-run.md)
|
- [Distribution artifacts](./building/build-install-distribution-artifacts.md)
|
||||||
- [Prerequisites](./building/prerequisites.md)
|
- [Documenting Compiler](./building/compiler-documenting.md)
|
||||||
- [Suggested Workflows](./building/suggested.md)
|
- [Rustdoc](./rustdoc.md)
|
||||||
- [Bootstrapping](./building/bootstrapping.md)
|
- [ctags](./building/ctags.md)
|
||||||
- [Distribution artifacts](./building/build-install-distribution-artifacts.md)
|
- [The compiler testing framework](./tests/intro.md)
|
||||||
- [Documenting Compiler](./building/compiler-documenting.md)
|
- [Running tests](./tests/running.md)
|
||||||
- [Rustdoc](./rustdoc.md)
|
- [Adding new tests](./tests/adding.md)
|
||||||
- [ctags](./building/ctags.md)
|
- [Using `compiletest` + commands to control test execution](./compiletest.md)
|
||||||
- [The compiler testing framework](./tests/intro.md)
|
- [Debugging the Compiler](./compiler-debugging.md)
|
||||||
- [Running tests](./tests/running.md)
|
- [Profiling the compiler](./profiling.md)
|
||||||
- [Adding new tests](./tests/adding.md)
|
- [with the linux perf tool](./profiling/with_perf.md)
|
||||||
- [Using `compiletest` + commands to control test execution](./compiletest.md)
|
- [crates.io Dependencies](./crates-io.md)
|
||||||
- [Walkthrough: a typical contribution](./walkthrough.md)
|
- [Errors and Lints](diagnostics.md)
|
||||||
- [Bug Fix Procedure](./bug-fix-procedure.md)
|
- [`LintStore`](./diagnostics/lintstore.md)
|
||||||
- [Implementing new features](./implementing_new_features.md)
|
- [Diagnostic Codes](./diagnostics/diagnostic-codes.md)
|
||||||
- [Stability attributes](./stability.md)
|
|
||||||
- [Stabilizing Features](./stabilization_guide.md)
|
|
||||||
- [Debugging the Compiler](./compiler-debugging.md)
|
|
||||||
- [Profiling the compiler](./profiling.md)
|
|
||||||
- [with the linux perf tool](./profiling/with_perf.md)
|
|
||||||
- [Coding conventions](./conventions.md)
|
|
||||||
- [crates.io Dependencies](./crates-io.md)
|
|
||||||
- [Errors and Lints](diagnostics.md)
|
|
||||||
- [`LintStore`](./diagnostics/lintstore.md)
|
|
||||||
- [Diagnostic Codes](./diagnostics/diagnostic-codes.md)
|
|
||||||
- [Notification groups](notification-groups/about.md)
|
|
||||||
- ["Cleanup Crew"](notification-groups/cleanup-crew.md)
|
|
||||||
- [LLVM](notification-groups/llvm.md)
|
|
||||||
- [Windows](notification-groups/windows.md)
|
|
||||||
- [ARM](notification-groups/arm.md)
|
|
||||||
- [Licenses](./licenses.md)
|
|
||||||
- [Part 2: High-level Compiler Architecture](./part-2-intro.md)
|
|
||||||
- [Overview of the Compiler](./overview.md)
|
|
||||||
- [The compiler source code](./compiler-src.md)
|
|
||||||
- [Queries: demand-driven compilation](./query.md)
|
|
||||||
- [The Query Evaluation Model in Detail](./queries/query-evaluation-model-in-detail.md)
|
|
||||||
- [Incremental compilation](./queries/incremental-compilation.md)
|
|
||||||
- [Incremental compilation In Detail](./queries/incremental-compilation-in-detail.md)
|
|
||||||
- [Debugging and Testing](./incrcomp-debugging.md)
|
|
||||||
- [Profiling Queries](./queries/profiling.md)
|
|
||||||
- [Salsa](./salsa.md)
|
|
||||||
- [Memory Management in Rustc](./memory.md)
|
|
||||||
- [Parallel Compilation](./parallel-rustc.md)
|
|
||||||
- [Rustdoc](./rustdoc-internals.md)
|
|
||||||
|
|
||||||
- [Part 3: Source Code Representations](./part-3-intro.md)
|
# Contributing to Rust
|
||||||
- [Command-line arguments](./cli.md)
|
|
||||||
- [The Rustc Driver and Interface](./rustc-driver.md)
|
|
||||||
- [Ex: Type checking through `rustc_interface`](./rustc-driver-interacting-with-the-ast.md)
|
|
||||||
- [Ex: Getting diagnostics through `rustc_interface`](./rustc-driver-getting-diagnostics.md)
|
|
||||||
- [Syntax and the AST](./syntax-intro.md)
|
|
||||||
- [Lexing and Parsing](./the-parser.md)
|
|
||||||
- [Macro expansion](./macro-expansion.md)
|
|
||||||
- [Name resolution](./name-resolution.md)
|
|
||||||
- [`#[test]` Implementation](./test-implementation.md)
|
|
||||||
- [Panic Implementation](./panic-implementation.md)
|
|
||||||
- [AST Validation](./ast-validation.md)
|
|
||||||
- [Feature Gate Checking](./feature-gate-ck.md)
|
|
||||||
- [The HIR (High-level IR)](./hir.md)
|
|
||||||
- [Lowering AST to HIR](./lowering.md)
|
|
||||||
- [Debugging](./hir-debugging.md)
|
|
||||||
- [The MIR (Mid-level IR)](./mir/index.md)
|
|
||||||
- [HAIR and MIR construction](./mir/construction.md)
|
|
||||||
- [MIR visitor and traversal](./mir/visitor.md)
|
|
||||||
- [MIR passes: getting the MIR for a function](./mir/passes.md)
|
|
||||||
- [Closure expansion](./closure.md)
|
|
||||||
|
|
||||||
- [Part 4: Analysis](./part-4-intro.md)
|
- [About the compiler team](./compiler-team.md)
|
||||||
- [The `ty` module: representing types](./ty.md)
|
- [Walkthrough: a typical contribution](./walkthrough.md)
|
||||||
- [Generics and substitutions](./generics.md)
|
- [Bug Fix Procedure](./bug-fix-procedure.md)
|
||||||
- [`TypeFolder` and `TypeFoldable`](./ty-fold.md)
|
- [Implementing new features](./implementing_new_features.md)
|
||||||
- [Generic arguments](./generic_arguments.md)
|
- [Stability attributes](./stability.md)
|
||||||
- [Type inference](./type-inference.md)
|
- [Stabilizing Features](./stabilization_guide.md)
|
||||||
- [Trait solving](./traits/resolution.md)
|
- [Coding conventions](./conventions.md)
|
||||||
- [Early and Late Bound Parameters](./early-late-bound.md)
|
- [Notification groups](notification-groups/about.md)
|
||||||
- [Higher-ranked trait bounds](./traits/hrtb.md)
|
- ["Cleanup Crew"](notification-groups/cleanup-crew.md)
|
||||||
- [Caching subtleties](./traits/caching.md)
|
- [LLVM](notification-groups/llvm.md)
|
||||||
- [Specialization](./traits/specialization.md)
|
- [Windows](notification-groups/windows.md)
|
||||||
- [Chalk-based trait solving](./traits/chalk.md)
|
- [ARM](notification-groups/arm.md)
|
||||||
- [Lowering to logic](./traits/lowering-to-logic.md)
|
- [Licenses](./licenses.md)
|
||||||
- [Goals and clauses](./traits/goals-and-clauses.md)
|
|
||||||
- [Canonical queries](./traits/canonical-queries.md)
|
|
||||||
- [Lowering module in rustc](./traits/lowering-module.md)
|
|
||||||
- [Type checking](./type-checking.md)
|
|
||||||
- [Method Lookup](./method-lookup.md)
|
|
||||||
- [Variance](./variance.md)
|
|
||||||
- [Opaque Types](./opaque-types-type-alias-impl-trait.md)
|
|
||||||
- [Pattern and Exhaustiveness Checking](./pat-exhaustive-checking.md)
|
|
||||||
- [The borrow checker](./borrow_check.md)
|
|
||||||
- [Tracking moves and initialization](./borrow_check/moves_and_initialization.md)
|
|
||||||
- [Move paths](./borrow_check/moves_and_initialization/move_paths.md)
|
|
||||||
- [MIR type checker](./borrow_check/type_check.md)
|
|
||||||
- [Region inference](./borrow_check/region_inference.md)
|
|
||||||
- [Constraint propagation](./borrow_check/region_inference/constraint_propagation.md)
|
|
||||||
- [Lifetime parameters](./borrow_check/region_inference/lifetime_parameters.md)
|
|
||||||
- [Member constraints](./borrow_check/region_inference/member_constraints.md)
|
|
||||||
- [Placeholders and universes][pau]
|
|
||||||
- [Closure constraints](./borrow_check/region_inference/closure_constraints.md)
|
|
||||||
- [Error reporting](./borrow_check/region_inference/error_reporting.md)
|
|
||||||
- [Two-phase-borrows](./borrow_check/two_phase_borrows.md)
|
|
||||||
- [Parameter Environments](./param_env.md)
|
|
||||||
|
|
||||||
- [Part 5: From MIR to binaries](./part-5-intro.md)
|
# High-level Compiler Architecture
|
||||||
- [The MIR (Mid-level IR)](./mir/index.md)
|
|
||||||
- [MIR optimizations](./mir/optimizations.md)
|
- [Prologue](./part-2-intro.md)
|
||||||
- [Debugging](./mir/debugging.md)
|
- [Overview of the Compiler](./overview.md)
|
||||||
- [Constant evaluation](./const-eval.md)
|
- [The compiler source code](./compiler-src.md)
|
||||||
- [miri const evaluator](./miri.md)
|
- [Queries: demand-driven compilation](./query.md)
|
||||||
- [Monomorphization](./backend/monomorph.md)
|
- [The Query Evaluation Model in Detail](./queries/query-evaluation-model-in-detail.md)
|
||||||
- [Lowering MIR](./backend/lowering-mir.md)
|
- [Incremental compilation](./queries/incremental-compilation.md)
|
||||||
- [Code Generation](./backend/codegen.md)
|
- [Incremental compilation In Detail](./queries/incremental-compilation-in-detail.md)
|
||||||
- [Updating LLVM](./backend/updating-llvm.md)
|
- [Debugging and Testing](./incrcomp-debugging.md)
|
||||||
- [Debugging LLVM](./backend/debugging.md)
|
- [Profiling Queries](./queries/profiling.md)
|
||||||
- [Backend Agnostic Codegen](./backend/backend-agnostic.md)
|
- [Salsa](./salsa.md)
|
||||||
- [Implicit Caller Location](./codegen/implicit-caller-location.md)
|
- [Memory Management in Rustc](./memory.md)
|
||||||
- [Profile-guided Optimization](./profile-guided-optimization.md)
|
- [Parallel Compilation](./parallel-rustc.md)
|
||||||
- [Sanitizers Support](./sanitizers.md)
|
- [Rustdoc](./rustdoc-internals.md)
|
||||||
- [Debugging Support in Rust Compiler](./debugging-support-in-rustc.md)
|
|
||||||
|
# Source Code Representations
|
||||||
|
|
||||||
|
- [Prologue](./part-3-intro.md)
|
||||||
|
- [Command-line arguments](./cli.md)
|
||||||
|
- [The Rustc Driver and Interface](./rustc-driver.md)
|
||||||
|
- [Rustdoc](./rustdoc.md)
|
||||||
|
- [Ex: Type checking through `rustc_interface`](./rustc-driver-interacting-with-the-ast.md)
|
||||||
|
- [Ex: Getting diagnostics through `rustc_interface`](./rustc-driver-getting-diagnostics.md)
|
||||||
|
- [Syntax and the AST](./syntax-intro.md)
|
||||||
|
- [Lexing and Parsing](./the-parser.md)
|
||||||
|
- [Macro expansion](./macro-expansion.md)
|
||||||
|
- [Name resolution](./name-resolution.md)
|
||||||
|
- [`#[test]` Implementation](./test-implementation.md)
|
||||||
|
- [Panic Implementation](./panic-implementation.md)
|
||||||
|
- [AST Validation](./ast-validation.md)
|
||||||
|
- [Feature Gate Checking](./feature-gate-ck.md)
|
||||||
|
- [The HIR (High-level IR)](./hir.md)
|
||||||
|
- [Lowering AST to HIR](./lowering.md)
|
||||||
|
- [Debugging](./hir-debugging.md)
|
||||||
|
- [The MIR (Mid-level IR)](./mir/index.md)
|
||||||
|
- [HAIR and MIR construction](./mir/construction.md)
|
||||||
|
- [MIR visitor and traversal](./mir/visitor.md)
|
||||||
|
- [MIR passes: getting the MIR for a function](./mir/passes.md)
|
||||||
|
- [Closure expansion](./closure.md)
|
||||||
|
|
||||||
|
# Analysis
|
||||||
|
|
||||||
|
- [Prologue](./part-4-intro.md)
|
||||||
|
- [The `ty` module: representing types](./ty.md)
|
||||||
|
- [Generics and substitutions](./generics.md)
|
||||||
|
- [`TypeFolder` and `TypeFoldable`](./ty-fold.md)
|
||||||
|
- [Generic arguments](./generic_arguments.md)
|
||||||
|
- [Type inference](./type-inference.md)
|
||||||
|
- [Trait solving](./traits/resolution.md)
|
||||||
|
- [Early and Late Bound Parameters](./early-late-bound.md)
|
||||||
|
- [Higher-ranked trait bounds](./traits/hrtb.md)
|
||||||
|
- [Caching subtleties](./traits/caching.md)
|
||||||
|
- [Specialization](./traits/specialization.md)
|
||||||
|
- [Chalk-based trait solving](./traits/chalk.md)
|
||||||
|
- [Lowering to logic](./traits/lowering-to-logic.md)
|
||||||
|
- [Goals and clauses](./traits/goals-and-clauses.md)
|
||||||
|
- [Canonical queries](./traits/canonical-queries.md)
|
||||||
|
- [Lowering module in rustc](./traits/lowering-module.md)
|
||||||
|
- [Type checking](./type-checking.md)
|
||||||
|
- [Method Lookup](./method-lookup.md)
|
||||||
|
- [Variance](./variance.md)
|
||||||
|
- [Opaque Types](./opaque-types-type-alias-impl-trait.md)
|
||||||
|
- [Pattern and Exhaustiveness Checking](./pat-exhaustive-checking.md)
|
||||||
|
- [The borrow checker](./borrow_check.md)
|
||||||
|
- [Tracking moves and initialization](./borrow_check/moves_and_initialization.md)
|
||||||
|
- [Move paths](./borrow_check/moves_and_initialization/move_paths.md)
|
||||||
|
- [MIR type checker](./borrow_check/type_check.md)
|
||||||
|
- [Region inference](./borrow_check/region_inference.md)
|
||||||
|
- [Constraint propagation](./borrow_check/region_inference/constraint_propagation.md)
|
||||||
|
- [Lifetime parameters](./borrow_check/region_inference/lifetime_parameters.md)
|
||||||
|
- [Member constraints](./borrow_check/region_inference/member_constraints.md)
|
||||||
|
- [Placeholders and universes][pau]
|
||||||
|
- [Closure constraints](./borrow_check/region_inference/closure_constraints.md)
|
||||||
|
- [Error reporting](./borrow_check/region_inference/error_reporting.md)
|
||||||
|
- [Two-phase-borrows](./borrow_check/two_phase_borrows.md)
|
||||||
|
- [Parameter Environments](./param_env.md)
|
||||||
|
|
||||||
|
# MIR to Binaries
|
||||||
|
|
||||||
|
- [Prologue](./part-5-intro.md)
|
||||||
|
- [The MIR (Mid-level IR)](./mir/index.md)
|
||||||
|
- [MIR optimizations](./mir/optimizations.md)
|
||||||
|
- [Debugging](./mir/debugging.md)
|
||||||
|
- [Constant evaluation](./const-eval.md)
|
||||||
|
- [miri const evaluator](./miri.md)
|
||||||
|
- [Monomorphization](./backend/monomorph.md)
|
||||||
|
- [Lowering MIR](./backend/lowering-mir.md)
|
||||||
|
- [Code Generation](./backend/codegen.md)
|
||||||
|
- [Updating LLVM](./backend/updating-llvm.md)
|
||||||
|
- [Debugging LLVM](./backend/debugging.md)
|
||||||
|
- [Backend Agnostic Codegen](./backend/backend-agnostic.md)
|
||||||
|
- [Implicit Caller Location](./codegen/implicit-caller-location.md)
|
||||||
|
- [Profile-guided Optimization](./profile-guided-optimization.md)
|
||||||
|
- [Sanitizers Support](./sanitizers.md)
|
||||||
|
- [Debugging Support in Rust Compiler](./debugging-support-in-rustc.md)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,9 +6,12 @@ development.
|
||||||
|
|
||||||
There are six parts to this guide:
|
There are six parts to this guide:
|
||||||
|
|
||||||
1. [Building, Debugging, and Contributing to `rustc`][p1]: Contains information that should be useful no matter how
|
1. [Building and Debugging to `rustc`][p1]: Contains information that should be
|
||||||
you are contributing, such as procedures for contribution, building the
|
useful no matter how you are contributing, about building, debugging,
|
||||||
compiler, etc.
|
profiling, etc.
|
||||||
|
2. [Contributing to `rustc`][p1-5]: Contains information that should be useful
|
||||||
|
no matter how you are contributing, about procedures for contribution,
|
||||||
|
stabilizing features, etc.
|
||||||
2. [High-Level Compiler Architecture][p2]: Discusses the high-level
|
2. [High-Level Compiler Architecture][p2]: Discusses the high-level
|
||||||
architecture of the compiler and stages of the compile process.
|
architecture of the compiler and stages of the compile process.
|
||||||
3. [Source Code Representation][p3]: Describes the process of taking raw source code from the user and
|
3. [Source Code Representation][p3]: Describes the process of taking raw source code from the user and
|
||||||
|
|
@ -19,7 +22,8 @@ There are six parts to this guide:
|
||||||
6. [Appendices][app] at the end with useful reference information. There are a
|
6. [Appendices][app] at the end with useful reference information. There are a
|
||||||
few of these with different information, inluding a glossary.
|
few of these with different information, inluding a glossary.
|
||||||
|
|
||||||
[p1]: ./part-1-intro.md
|
[p1]: ./getting-started.md
|
||||||
|
[p1-5]: ./compiler-team.md
|
||||||
[p2]: ./part-2-intro.md
|
[p2]: ./part-2-intro.md
|
||||||
[p3]: ./part-3-intro.md
|
[p3]: ./part-3-intro.md
|
||||||
[p4]: ./part-4-intro.md
|
[p4]: ./part-4-intro.md
|
||||||
|
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
# Part 1: Building, Debugging, and Contributing to `rustc`
|
|
||||||
|
|
||||||
This section of the rustc-dev-guide contains knowledge that should be useful to you
|
|
||||||
regardless of what part of the compiler you are working on. This includes both
|
|
||||||
technical info and tips (e.g. how to compile and debug the compiler) and info
|
|
||||||
about processes in the Rust project (e.g. stabilization and info about the
|
|
||||||
compiler team).
|
|
||||||
Loading…
Reference in New Issue