diff --git a/src/borrow_check/opaque-types-region-inference-restrictions.md b/src/borrow_check/opaque-types-region-inference-restrictions.md index 99a0d0c41..7827e5528 100644 --- a/src/borrow_check/opaque-types-region-inference-restrictions.md +++ b/src/borrow_check/opaque-types-region-inference-restrictions.md @@ -158,7 +158,7 @@ See [#113971] for how we used to conflate the difference. [#113971]: https://github.com/rust-lang/rust/issues/113971 [SCC]: https://en.wikipedia.org/wiki/Strongly_connected_component -[member constraints]: https://rustc-dev-guide.rust-lang.org/borrow_check/region_inference/member_constraints.html +[member constraints]: ./region_inference/member_constraints.md **interaction with "once modulo regions" restriction** In the example above, note the opaque type in the signature is `Opaque<'a>` and the one in the diff --git a/src/opaque-types-impl-trait-inference.md b/src/opaque-types-impl-trait-inference.md index f9c2ea74d..78a693876 100644 --- a/src/opaque-types-impl-trait-inference.md +++ b/src/opaque-types-impl-trait-inference.md @@ -5,8 +5,8 @@ This kind of type inference is particularly complex because, unlike other kinds of type inference, it can work across functions and function bodies. -[hidden type]: https://rustc-dev-guide.rust-lang.org/borrow_check/region_inference/member_constraints.html?highlight=%22hidden%20type%22#member-constraints -[opaque type]: https://rustc-dev-guide.rust-lang.org/opaque-types-type-alias-impl-trait.html +[hidden type]: ./borrow_check/region_inference/member_constraints.html?highlight=%22hidden%20type%22#member-constraints +[opaque type]: ./opaque-types-type-alias-impl-trait.md ## Running example diff --git a/src/overview.md b/src/overview.md index 520121423..b5e8753e5 100644 --- a/src/overview.md +++ b/src/overview.md @@ -72,7 +72,7 @@ following files are found in the `parser`: This naming scheme is used across many compiler stages. You will find either a file or directory with the same name across the parsing, lowering, type -checking, [Typed High-level Intermediate Representation (`THIR`)] lowering, and +checking, [Typed High-level Intermediate Representation (`THIR`)][thir] lowering, and [Mid-level Intermediate Representation (`MIR`)][mir] building sources. Macro-expansion, `AST`-validation, name-resolution, and early linting also take @@ -168,7 +168,7 @@ the final binary. [parser]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_parse/index.html [rustc_parse_parser_dir]: https://github.com/rust-lang/rust/tree/master/compiler/rustc_parse/src/parser [String interning]: https://en.wikipedia.org/wiki/String_interning -[Typed High-level Intermediate Representation (`THIR`)]: https://rustc-dev-guide.rust-lang.org/thir.html +[thir]: ./thir.md ## How it does it diff --git a/src/param_env/param_env_construction_internals.md b/src/param_env/param_env_construction_internals.md index fa9744fc0..69a262a17 100644 --- a/src/param_env/param_env_construction_internals.md +++ b/src/param_env/param_env_construction_internals.md @@ -40,7 +40,7 @@ fn foo() {} The [next-gen trait solver][next-gen-solver] also requires this elaboration to take place. [elaborate]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_infer/traits/util/fn.elaborate.html -[next-gen-solver]: https://rustc-dev-guide.rust-lang.org/solve/trait-solving.html +[next-gen-solver]: ../solve/trait-solving.md ## Normalizing all bounds @@ -80,4 +80,4 @@ In the next-gen trait solver the requirement for all where clauses in the `Param [example]: https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=e6933265ea3e84eaa47019465739992c [pe]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/struct.ParamEnv.html -[normalize_env_or_error]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_trait_selection/traits/fn.normalize_param_env_or_error.html \ No newline at end of file +[normalize_env_or_error]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_trait_selection/traits/fn.normalize_param_env_or_error.html diff --git a/src/solve/opaque-types.md b/src/solve/opaque-types.md index d786afecf..87531705c 100644 --- a/src/solve/opaque-types.md +++ b/src/solve/opaque-types.md @@ -95,7 +95,7 @@ end up leaking placeholders. The handling of member constraints does not change in the new solver. See the [relevant existing chapter][member-constraints] for that. -[member-constraints]: https://rustc-dev-guide.rust-lang.org/borrow_check/region_inference/member_constraints.html +[member-constraints]: ../borrow_check/region_inference/member_constraints.md ## calling methods on opaque types