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:
Who? Me?! 2020-06-24 12:47:50 -05:00 committed by GitHub
parent 541f88e8dd
commit 32c4f1aa61
4 changed files with 141 additions and 131 deletions

View File

@ -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

View File

@ -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)
--- ---

View File

@ -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

View File

@ -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).