mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-22 06:44:35 +00:00
rust-lang.github.io/rustc-dev-guide -> rustc-dev-guide.rust-lang.org
This commit is contained in:
parent
d00b2696d8
commit
b3b32b74bc
4
.github/ISSUE_TEMPLATE/tracking_issue.md
vendored
4
.github/ISSUE_TEMPLATE/tracking_issue.md
vendored
@ -39,8 +39,8 @@ for larger features an implementation could be broken up into multiple PRs.
|
|||||||
- [ ] Adjust documentation ([see instructions on rustc-dev-guide][doc-guide])
|
- [ ] Adjust documentation ([see instructions on rustc-dev-guide][doc-guide])
|
||||||
- [ ] Stabilization PR ([see instructions on rustc-dev-guide][stabilization-guide])
|
- [ ] Stabilization PR ([see instructions on rustc-dev-guide][stabilization-guide])
|
||||||
|
|
||||||
[stabilization-guide]: https://rust-lang.github.io/rustc-dev-guide/stabilization_guide.html#stabilization-pr
|
[stabilization-guide]: https://rustc-dev-guide.rust-lang.org/stabilization_guide.html#stabilization-pr
|
||||||
[doc-guide]: https://rust-lang.github.io/rustc-dev-guide/stabilization_guide.html#documentation-prs
|
[doc-guide]: https://rustc-dev-guide.rust-lang.org/stabilization_guide.html#documentation-prs
|
||||||
|
|
||||||
### Unresolved Questions
|
### Unresolved Questions
|
||||||
<!--
|
<!--
|
||||||
|
@ -29,8 +29,8 @@ can give you a good example of how a typical contribution would go.
|
|||||||
[rust-discord]: http://discord.gg/rust-lang
|
[rust-discord]: http://discord.gg/rust-lang
|
||||||
[rust-zulip]: https://rust-lang.zulipchat.com
|
[rust-zulip]: https://rust-lang.zulipchat.com
|
||||||
[coc]: https://www.rust-lang.org/conduct.html
|
[coc]: https://www.rust-lang.org/conduct.html
|
||||||
[rustc-dev-guide]: https://rust-lang.github.io/rustc-dev-guide/
|
[rustc-dev-guide]: https://rustc-dev-guide.rust-lang.org/
|
||||||
[walkthrough]: https://rust-lang.github.io/rustc-dev-guide/walkthrough.html
|
[walkthrough]: https://rustc-dev-guide.rust-lang.org/walkthrough.html
|
||||||
|
|
||||||
## Feature Requests
|
## Feature Requests
|
||||||
[feature-requests]: #feature-requests
|
[feature-requests]: #feature-requests
|
||||||
@ -108,7 +108,7 @@ contributions to the compiler and the standard library. It also lists some
|
|||||||
really useful commands to the build system (`./x.py`), which could save you a
|
really useful commands to the build system (`./x.py`), which could save you a
|
||||||
lot of time.
|
lot of time.
|
||||||
|
|
||||||
[rustcguidebuild]: https://rust-lang.github.io/rustc-dev-guide/building/how-to-build-and-run.html
|
[rustcguidebuild]: https://rustc-dev-guide.rust-lang.org/building/how-to-build-and-run.html
|
||||||
|
|
||||||
## Pull Requests
|
## Pull Requests
|
||||||
[pull-requests]: #pull-requests
|
[pull-requests]: #pull-requests
|
||||||
@ -448,7 +448,7 @@ are:
|
|||||||
* **Google!** ([search only in Rust Documentation][gsearchdocs] to find types, traits, etc. quickly)
|
* **Google!** ([search only in Rust Documentation][gsearchdocs] to find types, traits, etc. quickly)
|
||||||
* Don't be afraid to ask! The Rust community is friendly and helpful.
|
* Don't be afraid to ask! The Rust community is friendly and helpful.
|
||||||
|
|
||||||
[rustc dev guide]: https://rust-lang.github.io/rustc-dev-guide/about-this-guide.html
|
[rustc dev guide]: https://rustc-dev-guide.rust-lang.org/about-this-guide.html
|
||||||
[gdfrustc]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc/
|
[gdfrustc]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc/
|
||||||
[gsearchdocs]: https://www.google.com/search?q=site:doc.rust-lang.org+your+query+here
|
[gsearchdocs]: https://www.google.com/search?q=site:doc.rust-lang.org+your+query+here
|
||||||
[rif]: http://internals.rust-lang.org
|
[rif]: http://internals.rust-lang.org
|
||||||
@ -456,5 +456,5 @@ are:
|
|||||||
[rustforge]: https://forge.rust-lang.org/
|
[rustforge]: https://forge.rust-lang.org/
|
||||||
[tlgba]: http://tomlee.co/2014/04/a-more-detailed-tour-of-the-rust-compiler/
|
[tlgba]: http://tomlee.co/2014/04/a-more-detailed-tour-of-the-rust-compiler/
|
||||||
[ro]: http://www.rustaceans.org/
|
[ro]: http://www.rustaceans.org/
|
||||||
[rctd]: https://rust-lang.github.io/rustc-dev-guide/tests/intro.html
|
[rctd]: https://rustc-dev-guide.rust-lang.org/tests/intro.html
|
||||||
[cheatsheet]: https://buildbot2.rust-lang.org/homu/
|
[cheatsheet]: https://buildbot2.rust-lang.org/homu/
|
||||||
|
@ -21,7 +21,7 @@ The Rust build system has a Python script called `x.py` to bootstrap building
|
|||||||
the compiler. More information about it may be found by running `./x.py --help`
|
the compiler. More information about it may be found by running `./x.py --help`
|
||||||
or reading the [rustc dev guide][rustcguidebuild].
|
or reading the [rustc dev guide][rustcguidebuild].
|
||||||
|
|
||||||
[rustcguidebuild]: https://rust-lang.github.io/rustc-dev-guide/building/how-to-build-and-run.html
|
[rustcguidebuild]: https://rustc-dev-guide.rust-lang.org/building/how-to-build-and-run.html
|
||||||
|
|
||||||
### Building on *nix
|
### Building on *nix
|
||||||
1. Make sure you have installed the dependencies:
|
1. Make sure you have installed the dependencies:
|
||||||
@ -255,7 +255,7 @@ various parts of the compiler work.
|
|||||||
Also, you may find the [rustdocs for the compiler itself][rustdocs] useful.
|
Also, you may find the [rustdocs for the compiler itself][rustdocs] useful.
|
||||||
|
|
||||||
[rust-discord]: https://discord.gg/rust-lang
|
[rust-discord]: https://discord.gg/rust-lang
|
||||||
[rustc dev guide]: https://rust-lang.github.io/rustc-dev-guide/about-this-guide.html
|
[rustc dev guide]: https://rustc-dev-guide.rust-lang.org/about-this-guide.html
|
||||||
[rustdocs]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc/
|
[rustdocs]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc/
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
@ -5,4 +5,4 @@ This directory contains the source code of the rust project, including:
|
|||||||
|
|
||||||
For more information on how various parts of the compiler work, see the [rustc dev guide].
|
For more information on how various parts of the compiler work, see the [rustc dev guide].
|
||||||
|
|
||||||
[rustc dev guide]: https://rust-lang.github.io/rustc-dev-guide/about-this-guide.html
|
[rustc dev guide]: https://rustc-dev-guide.rust-lang.org/about-this-guide.html
|
||||||
|
@ -120,7 +120,7 @@ Rust. It's also sometimes called "the 'nomicon."
|
|||||||
|
|
||||||
## The `rustc` Contribution Guide
|
## The `rustc` Contribution Guide
|
||||||
|
|
||||||
[The `rustc` Guide](https://rust-lang.github.io/rustc-dev-guide/) documents how
|
[The `rustc` Guide](https://rustc-dev-guide.rust-lang.org/) documents how
|
||||||
the compiler works and how to contribute to it. This is useful if you want to build
|
the compiler works and how to contribute to it. This is useful if you want to build
|
||||||
or modify the Rust compiler from source (e.g. to target something non-standard).
|
or modify the Rust compiler from source (e.g. to target something non-standard).
|
||||||
|
|
||||||
|
@ -8,5 +8,5 @@ more, you'll want to check that out.
|
|||||||
If you would like to contribute to _this_ book, you can find its source in the
|
If you would like to contribute to _this_ book, you can find its source in the
|
||||||
rustc source at [src/doc/rustc][rustc_book].
|
rustc source at [src/doc/rustc][rustc_book].
|
||||||
|
|
||||||
[rustc_dev_guide]: https://rust-lang.github.io/rustc-dev-guide/
|
[rustc_dev_guide]: https://rustc-dev-guide.rust-lang.org/
|
||||||
[rustc_book]: https://github.com/rust-lang/rust/tree/master/src/doc/rustc
|
[rustc_book]: https://github.com/rust-lang/rust/tree/master/src/doc/rustc
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
For more information about how rustc works, see the [rustc dev guide].
|
For more information about how rustc works, see the [rustc dev guide].
|
||||||
|
|
||||||
[rustc dev guide]: https://rust-lang.github.io/rustc-dev-guide/
|
[rustc dev guide]: https://rustc-dev-guide.rust-lang.org/
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
To learn more about how dependency tracking works in rustc, see the [rustc
|
To learn more about how dependency tracking works in rustc, see the [rustc
|
||||||
guide].
|
guide].
|
||||||
|
|
||||||
[rustc dev guide]: https://rust-lang.github.io/rustc-dev-guide/query.html
|
[rustc dev guide]: https://rustc-dev-guide.rust-lang.org/query.html
|
||||||
|
@ -194,7 +194,7 @@ impl DepGraph {
|
|||||||
/// - If you need 3+ arguments, use a tuple for the
|
/// - If you need 3+ arguments, use a tuple for the
|
||||||
/// `arg` parameter.
|
/// `arg` parameter.
|
||||||
///
|
///
|
||||||
/// [rustc dev guide]: https://rust-lang.github.io/rustc-dev-guide/incremental-compilation.html
|
/// [rustc dev guide]: https://rustc-dev-guide.rust-lang.org/incremental-compilation.html
|
||||||
pub fn with_task<'a, C, A, R>(
|
pub fn with_task<'a, C, A, R>(
|
||||||
&self,
|
&self,
|
||||||
key: DepNode,
|
key: DepNode,
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
//! HIR datatypes. See the [rustc dev guide] for more info.
|
//! HIR datatypes. See the [rustc dev guide] for more info.
|
||||||
//!
|
//!
|
||||||
//! [rustc dev guide]: https://rust-lang.github.io/rustc-dev-guide/hir.html
|
//! [rustc dev guide]: https://rustc-dev-guide.rust-lang.org/hir.html
|
||||||
|
|
||||||
pub mod exports;
|
pub mod exports;
|
||||||
pub mod map;
|
pub mod map;
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
//! For a more detailed look at what is happening here, check
|
//! For a more detailed look at what is happening here, check
|
||||||
//! out the [chapter in the rustc dev guide][c].
|
//! out the [chapter in the rustc dev guide][c].
|
||||||
//!
|
//!
|
||||||
//! [c]: https://rust-lang.github.io/rustc-dev-guide/traits/canonicalization.html
|
//! [c]: https://rustc-dev-guide.rust-lang.org/traits/canonicalization.html
|
||||||
|
|
||||||
use crate::infer::MemberConstraint;
|
use crate::infer::MemberConstraint;
|
||||||
use crate::ty::subst::GenericArg;
|
use crate::ty::subst::GenericArg;
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
//!
|
//!
|
||||||
//! For more information about how rustc works, see the [rustc dev guide].
|
//! For more information about how rustc works, see the [rustc dev guide].
|
||||||
//!
|
//!
|
||||||
//! [rustc dev guide]: https://rust-lang.github.io/rustc-dev-guide/
|
//! [rustc dev guide]: https://rustc-dev-guide.rust-lang.org/
|
||||||
//!
|
//!
|
||||||
//! # Note
|
//! # Note
|
||||||
//!
|
//!
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
//! For more information about how MIR-based region-checking works,
|
//! For more information about how MIR-based region-checking works,
|
||||||
//! see the [rustc dev guide].
|
//! see the [rustc dev guide].
|
||||||
//!
|
//!
|
||||||
//! [rustc dev guide]: https://rust-lang.github.io/rustc-dev-guide/mir/borrowck.html
|
//! [rustc dev guide]: https://rustc-dev-guide.rust-lang.org/mir/borrowck.html
|
||||||
|
|
||||||
use crate::ich::{NodeIdHashingMode, StableHashingContext};
|
use crate::ich::{NodeIdHashingMode, StableHashingContext};
|
||||||
use crate::ty::{self, DefIdTree, TyCtxt};
|
use crate::ty::{self, DefIdTree, TyCtxt};
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
//! MIR datatypes and passes. See the [rustc dev guide] for more info.
|
//! MIR datatypes and passes. See the [rustc dev guide] for more info.
|
||||||
//!
|
//!
|
||||||
//! [rustc dev guide]: https://rust-lang.github.io/rustc-dev-guide/mir/index.html
|
//! [rustc dev guide]: https://rustc-dev-guide.rust-lang.org/mir/index.html
|
||||||
|
|
||||||
use crate::mir::interpret::{GlobalAlloc, Scalar};
|
use crate::mir::interpret::{GlobalAlloc, Scalar};
|
||||||
use crate::mir::visit::MirVisitable;
|
use crate::mir::visit::MirVisitable;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
//! Trait Resolution. See the [rustc dev guide] for more information on how this works.
|
//! Trait Resolution. See the [rustc dev guide] for more information on how this works.
|
||||||
//!
|
//!
|
||||||
//! [rustc dev guide]: https://rust-lang.github.io/rustc-dev-guide/traits/resolution.html
|
//! [rustc dev guide]: https://rustc-dev-guide.rust-lang.org/traits/resolution.html
|
||||||
|
|
||||||
pub mod query;
|
pub mod query;
|
||||||
pub mod select;
|
pub mod select;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
//! Candidate selection. See the [rustc dev guide] for more information on how this works.
|
//! Candidate selection. See the [rustc dev guide] for more information on how this works.
|
||||||
//!
|
//!
|
||||||
//! [rustc dev guide]: https://rust-lang.github.io/rustc-dev-guide/traits/resolution.html#selection
|
//! [rustc dev guide]: https://rustc-dev-guide.rust-lang.org/traits/resolution.html#selection
|
||||||
|
|
||||||
use self::EvaluationResult::*;
|
use self::EvaluationResult::*;
|
||||||
|
|
||||||
|
@ -918,7 +918,7 @@ pub struct FreeRegionInfo {
|
|||||||
/// various **compiler queries** that have been performed. See the
|
/// various **compiler queries** that have been performed. See the
|
||||||
/// [rustc dev guide] for more details.
|
/// [rustc dev guide] for more details.
|
||||||
///
|
///
|
||||||
/// [rustc dev guide]: https://rust-lang.github.io/rustc-dev-guide/ty.html
|
/// [rustc dev guide]: https://rustc-dev-guide.rust-lang.org/ty.html
|
||||||
#[derive(Copy, Clone)]
|
#[derive(Copy, Clone)]
|
||||||
#[rustc_diagnostic_item = "TyCtxt"]
|
#[rustc_diagnostic_item = "TyCtxt"]
|
||||||
pub struct TyCtxt<'tcx> {
|
pub struct TyCtxt<'tcx> {
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
For more information about how the query system works, see the [rustc dev guide].
|
For more information about how the query system works, see the [rustc dev guide].
|
||||||
|
|
||||||
[rustc dev guide]: https://rust-lang.github.io/rustc-dev-guide/query.html
|
[rustc dev guide]: https://rustc-dev-guide.rust-lang.org/query.html
|
||||||
|
@ -1400,7 +1400,7 @@ pub type Region<'tcx> = &'tcx RegionKind;
|
|||||||
///
|
///
|
||||||
/// [1]: http://smallcultfollowing.com/babysteps/blog/2013/10/29/intermingled-parameter-lists/
|
/// [1]: http://smallcultfollowing.com/babysteps/blog/2013/10/29/intermingled-parameter-lists/
|
||||||
/// [2]: http://smallcultfollowing.com/babysteps/blog/2013/11/04/intermingled-parameter-lists/
|
/// [2]: http://smallcultfollowing.com/babysteps/blog/2013/11/04/intermingled-parameter-lists/
|
||||||
/// [rustc dev guide]: https://rust-lang.github.io/rustc-dev-guide/traits/hrtb.html
|
/// [rustc dev guide]: https://rustc-dev-guide.rust-lang.org/traits/hrtb.html
|
||||||
#[derive(Clone, PartialEq, Eq, Hash, Copy, RustcEncodable, RustcDecodable, PartialOrd, Ord)]
|
#[derive(Clone, PartialEq, Eq, Hash, Copy, RustcEncodable, RustcDecodable, PartialOrd, Ord)]
|
||||||
pub enum RegionKind {
|
pub enum RegionKind {
|
||||||
/// Region bound in a type or fn declaration which will be
|
/// Region bound in a type or fn declaration which will be
|
||||||
|
@ -5,5 +5,5 @@ lexer, macro expander, and utilities for traversing ASTs.
|
|||||||
For more information about how these things work in rustc, see the
|
For more information about how these things work in rustc, see the
|
||||||
rustc dev guide:
|
rustc dev guide:
|
||||||
|
|
||||||
- [Parsing](https://rust-lang.github.io/rustc-dev-guide/the-parser.html)
|
- [Parsing](https://rustc-dev-guide.rust-lang.org/the-parser.html)
|
||||||
- [Macro Expansion](https://rust-lang.github.io/rustc-dev-guide/macro-expansion.html)
|
- [Macro Expansion](https://rustc-dev-guide.rust-lang.org/macro-expansion.html)
|
||||||
|
@ -4,4 +4,4 @@ that runs towards the end of the compilation process.
|
|||||||
|
|
||||||
For more information about how codegen works, see the [rustc dev guide].
|
For more information about how codegen works, see the [rustc dev guide].
|
||||||
|
|
||||||
[rustc dev guide]: https://rust-lang.github.io/rustc-dev-guide/codegen.html
|
[rustc dev guide]: https://rustc-dev-guide.rust-lang.org/codegen.html
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
Please read the rustc-dev-guide chapter on [Backend Agnostic Codegen][bac].
|
Please read the rustc-dev-guide chapter on [Backend Agnostic Codegen][bac].
|
||||||
|
|
||||||
[bac]: https://rust-lang.github.io/rustc-dev-guide/codegen/backend-agnostic.html
|
[bac]: https://rustc-dev-guide.rust-lang.org/codegen/backend-agnostic.html
|
||||||
|
@ -7,4 +7,4 @@ options).
|
|||||||
|
|
||||||
For more information about how the driver works, see the [rustc dev guide].
|
For more information about how the driver works, see the [rustc dev guide].
|
||||||
|
|
||||||
[rustc dev guide]: https://rust-lang.github.io/rustc-dev-guide/rustc-driver.html
|
[rustc dev guide]: https://rustc-dev-guide.rust-lang.org/rustc-driver.html
|
||||||
|
@ -611,7 +611,7 @@ pub struct ModuleItems {
|
|||||||
///
|
///
|
||||||
/// For more details, see the [rustc dev guide].
|
/// For more details, see the [rustc dev guide].
|
||||||
///
|
///
|
||||||
/// [rustc dev guide]: https://rust-lang.github.io/rustc-dev-guide/hir.html
|
/// [rustc dev guide]: https://rustc-dev-guide.rust-lang.org/hir.html
|
||||||
#[derive(RustcEncodable, RustcDecodable, Debug)]
|
#[derive(RustcEncodable, RustcDecodable, Debug)]
|
||||||
pub struct Crate<'hir> {
|
pub struct Crate<'hir> {
|
||||||
pub module: Mod<'hir>,
|
pub module: Mod<'hir>,
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
//! HIR datatypes. See the [rustc dev guide] for more info.
|
//! HIR datatypes. See the [rustc dev guide] for more info.
|
||||||
//!
|
//!
|
||||||
//! [rustc dev guide]: https://rust-lang.github.io/rustc-dev-guide/hir.html
|
//! [rustc dev guide]: https://rustc-dev-guide.rust-lang.org/hir.html
|
||||||
|
|
||||||
#![feature(crate_visibility_modifier)]
|
#![feature(crate_visibility_modifier)]
|
||||||
#![feature(const_fn)] // For the unsizing cast on `&[]`
|
#![feature(const_fn)] // For the unsizing cast on `&[]`
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
For info on how the incremental compilation works, see the [rustc dev guide].
|
For info on how the incremental compilation works, see the [rustc dev guide].
|
||||||
|
|
||||||
[rustc dev guide]: https://rust-lang.github.io/rustc-dev-guide/query.html
|
[rustc dev guide]: https://rustc-dev-guide.rust-lang.org/query.html
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
//! For an overview of what canonicalization is and how it fits into
|
//! For an overview of what canonicalization is and how it fits into
|
||||||
//! rustc, check out the [chapter in the rustc dev guide][c].
|
//! rustc, check out the [chapter in the rustc dev guide][c].
|
||||||
//!
|
//!
|
||||||
//! [c]: https://rust-lang.github.io/rustc-dev-guide/traits/canonicalization.html
|
//! [c]: https://rustc-dev-guide.rust-lang.org/traits/canonicalization.html
|
||||||
|
|
||||||
use crate::infer::canonical::{
|
use crate::infer::canonical::{
|
||||||
Canonical, CanonicalTyVarKind, CanonicalVarInfo, CanonicalVarKind, Canonicalized,
|
Canonical, CanonicalTyVarKind, CanonicalVarInfo, CanonicalVarKind, Canonicalized,
|
||||||
@ -35,7 +35,7 @@ impl<'cx, 'tcx> InferCtxt<'cx, 'tcx> {
|
|||||||
/// To get a good understanding of what is happening here, check
|
/// To get a good understanding of what is happening here, check
|
||||||
/// out the [chapter in the rustc dev guide][c].
|
/// out the [chapter in the rustc dev guide][c].
|
||||||
///
|
///
|
||||||
/// [c]: https://rust-lang.github.io/rustc-dev-guide/traits/canonicalization.html#canonicalizing-the-query
|
/// [c]: https://rustc-dev-guide.rust-lang.org/traits/canonicalization.html#canonicalizing-the-query
|
||||||
pub fn canonicalize_query<V>(
|
pub fn canonicalize_query<V>(
|
||||||
&self,
|
&self,
|
||||||
value: &V,
|
value: &V,
|
||||||
@ -79,7 +79,7 @@ impl<'cx, 'tcx> InferCtxt<'cx, 'tcx> {
|
|||||||
/// To get a good understanding of what is happening here, check
|
/// To get a good understanding of what is happening here, check
|
||||||
/// out the [chapter in the rustc dev guide][c].
|
/// out the [chapter in the rustc dev guide][c].
|
||||||
///
|
///
|
||||||
/// [c]: https://rust-lang.github.io/rustc-dev-guide/traits/canonicalization.html#canonicalizing-the-query-result
|
/// [c]: https://rustc-dev-guide.rust-lang.org/traits/canonicalization.html#canonicalizing-the-query-result
|
||||||
pub fn canonicalize_response<V>(&self, value: &V) -> Canonicalized<'tcx, V>
|
pub fn canonicalize_response<V>(&self, value: &V) -> Canonicalized<'tcx, V>
|
||||||
where
|
where
|
||||||
V: TypeFoldable<'tcx>,
|
V: TypeFoldable<'tcx>,
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
//! For a more detailed look at what is happening here, check
|
//! For a more detailed look at what is happening here, check
|
||||||
//! out the [chapter in the rustc dev guide][c].
|
//! out the [chapter in the rustc dev guide][c].
|
||||||
//!
|
//!
|
||||||
//! [c]: https://rust-lang.github.io/rustc-dev-guide/traits/canonicalization.html
|
//! [c]: https://rustc-dev-guide.rust-lang.org/traits/canonicalization.html
|
||||||
|
|
||||||
use crate::infer::{ConstVariableOrigin, ConstVariableOriginKind};
|
use crate::infer::{ConstVariableOrigin, ConstVariableOriginKind};
|
||||||
use crate::infer::{InferCtxt, RegionVariableOrigin, TypeVariableOrigin, TypeVariableOriginKind};
|
use crate::infer::{InferCtxt, RegionVariableOrigin, TypeVariableOrigin, TypeVariableOriginKind};
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
//! For an overview of what canonicaliation is and how it fits into
|
//! For an overview of what canonicaliation is and how it fits into
|
||||||
//! rustc, check out the [chapter in the rustc dev guide][c].
|
//! rustc, check out the [chapter in the rustc dev guide][c].
|
||||||
//!
|
//!
|
||||||
//! [c]: https://rust-lang.github.io/rustc-dev-guide/traits/canonicalization.html
|
//! [c]: https://rustc-dev-guide.rust-lang.org/traits/canonicalization.html
|
||||||
|
|
||||||
use crate::infer::canonical::substitute::{substitute_value, CanonicalExt};
|
use crate::infer::canonical::substitute::{substitute_value, CanonicalExt};
|
||||||
use crate::infer::canonical::{
|
use crate::infer::canonical::{
|
||||||
@ -197,7 +197,7 @@ impl<'cx, 'tcx> InferCtxt<'cx, 'tcx> {
|
|||||||
/// To get a good understanding of what is happening here, check
|
/// To get a good understanding of what is happening here, check
|
||||||
/// out the [chapter in the rustc dev guide][c].
|
/// out the [chapter in the rustc dev guide][c].
|
||||||
///
|
///
|
||||||
/// [c]: https://rust-lang.github.io/rustc-dev-guide/traits/canonicalization.html#processing-the-canonicalized-query-result
|
/// [c]: https://rustc-dev-guide.rust-lang.org/traits/canonicalization.html#processing-the-canonicalized-query-result
|
||||||
pub fn instantiate_query_response_and_region_obligations<R>(
|
pub fn instantiate_query_response_and_region_obligations<R>(
|
||||||
&self,
|
&self,
|
||||||
cause: &ObligationCause<'tcx>,
|
cause: &ObligationCause<'tcx>,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
//! For an overview of what canonicalization is and how it fits into
|
//! For an overview of what canonicalization is and how it fits into
|
||||||
//! rustc, check out the [chapter in the rustc dev guide][c].
|
//! rustc, check out the [chapter in the rustc dev guide][c].
|
||||||
//!
|
//!
|
||||||
//! [c]: https://rust-lang.github.io/rustc-dev-guide/traits/canonicalization.html
|
//! [c]: https://rustc-dev-guide.rust-lang.org/traits/canonicalization.html
|
||||||
|
|
||||||
use crate::infer::canonical::{Canonical, CanonicalVarValues};
|
use crate::infer::canonical::{Canonical, CanonicalVarValues};
|
||||||
use rustc::ty::fold::TypeFoldable;
|
use rustc::ty::fold::TypeFoldable;
|
||||||
|
@ -4,5 +4,5 @@ solver, see [this chapter][oldhrtb] of the rustc-dev-guide.
|
|||||||
To learn more about how they work in the _new_ trait solver, see [this
|
To learn more about how they work in the _new_ trait solver, see [this
|
||||||
chapter][newhrtb].
|
chapter][newhrtb].
|
||||||
|
|
||||||
[oldhrtb]: https://rust-lang.github.io/rustc-dev-guide/traits/hrtb.html
|
[oldhrtb]: https://rustc-dev-guide.rust-lang.org/traits/hrtb.html
|
||||||
[newhrtb]: https://rust-lang.github.io/rustc-dev-guide/borrow_check/region_inference.html#placeholders-and-universes
|
[newhrtb]: https://rustc-dev-guide.rust-lang.org/borrow_check/region_inference.html#placeholders-and-universes
|
||||||
|
@ -73,7 +73,7 @@ impl<'a, 'tcx> InferCtxt<'a, 'tcx> {
|
|||||||
/// For more information about how placeholders and HRTBs work, see
|
/// For more information about how placeholders and HRTBs work, see
|
||||||
/// the [rustc dev guide].
|
/// the [rustc dev guide].
|
||||||
///
|
///
|
||||||
/// [rustc dev guide]: https://rust-lang.github.io/rustc-dev-guide/traits/hrtb.html
|
/// [rustc dev guide]: https://rustc-dev-guide.rust-lang.org/traits/hrtb.html
|
||||||
pub fn replace_bound_vars_with_placeholders<T>(
|
pub fn replace_bound_vars_with_placeholders<T>(
|
||||||
&self,
|
&self,
|
||||||
binder: &ty::Binder<T>,
|
binder: &ty::Binder<T>,
|
||||||
|
@ -4,4 +4,4 @@ Lexical Region Resolution was removed in https://github.com/rust-lang/rust/pull/
|
|||||||
Rust now uses Non-lexical lifetimes. For more info, please see the [borrowck
|
Rust now uses Non-lexical lifetimes. For more info, please see the [borrowck
|
||||||
chapter][bc] in the rustc-dev-guide.
|
chapter][bc] in the rustc-dev-guide.
|
||||||
|
|
||||||
[bc]: https://rust-lang.github.io/rustc-dev-guide/borrow_check/region_inference.html
|
[bc]: https://rustc-dev-guide.rust-lang.org/borrow_check/region_inference.html
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
For info on how the current borrowck works, see the [rustc dev guide].
|
For info on how the current borrowck works, see the [rustc dev guide].
|
||||||
|
|
||||||
[rustc dev guide]: https://rust-lang.github.io/rustc-dev-guide/borrow_check.html
|
[rustc dev guide]: https://rustc-dev-guide.rust-lang.org/borrow_check.html
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
//!
|
//!
|
||||||
//! For more information about how rustc works, see the [rustc dev guide].
|
//! For more information about how rustc works, see the [rustc dev guide].
|
||||||
//!
|
//!
|
||||||
//! [rustc dev guide]: https://rust-lang.github.io/rustc-dev-guide/
|
//! [rustc dev guide]: https://rustc-dev-guide.rust-lang.org/
|
||||||
//!
|
//!
|
||||||
//! # Note
|
//! # Note
|
||||||
//!
|
//!
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
//! See Rustc Dev Guide chapters on [trait-resolution] and [trait-specialization] for more info on
|
//! See Rustc Dev Guide chapters on [trait-resolution] and [trait-specialization] for more info on
|
||||||
//! how this works.
|
//! how this works.
|
||||||
//!
|
//!
|
||||||
//! [trait-resolution]: https://rust-lang.github.io/rustc-dev-guide/traits/resolution.html
|
//! [trait-resolution]: https://rustc-dev-guide.rust-lang.org/traits/resolution.html
|
||||||
//! [trait-specialization]: https://rust-lang.github.io/rustc-dev-guide/traits/specialization.html
|
//! [trait-specialization]: https://rustc-dev-guide.rust-lang.org/traits/specialization.html
|
||||||
|
|
||||||
use crate::infer::{CombinedSnapshot, InferOk, TyCtxtInferExt};
|
use crate::infer::{CombinedSnapshot, InferOk, TyCtxtInferExt};
|
||||||
use crate::traits::select::IntercrateAmbiguityCause;
|
use crate::traits::select::IntercrateAmbiguityCause;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
//! Trait Resolution. See the [rustc dev guide] for more information on how this works.
|
//! Trait Resolution. See the [rustc dev guide] for more information on how this works.
|
||||||
//!
|
//!
|
||||||
//! [rustc dev guide]: https://rust-lang.github.io/rustc-dev-guide/traits/resolution.html
|
//! [rustc dev guide]: https://rustc-dev-guide.rust-lang.org/traits/resolution.html
|
||||||
|
|
||||||
#[allow(dead_code)]
|
#[allow(dead_code)]
|
||||||
pub mod auto_trait;
|
pub mod auto_trait;
|
||||||
|
@ -44,7 +44,7 @@ pub trait TypeOp<'tcx>: Sized + fmt::Debug {
|
|||||||
/// first canonicalize the key and then invoke the query on the tcx,
|
/// first canonicalize the key and then invoke the query on the tcx,
|
||||||
/// which produces the resulting query region constraints.
|
/// which produces the resulting query region constraints.
|
||||||
///
|
///
|
||||||
/// [c]: https://rust-lang.github.io/rustc-dev-guide/traits/canonicalization.html
|
/// [c]: https://rustc-dev-guide.rust-lang.org/traits/canonicalization.html
|
||||||
pub trait QueryTypeOp<'tcx>: fmt::Debug + Sized + TypeFoldable<'tcx> + 'tcx {
|
pub trait QueryTypeOp<'tcx>: fmt::Debug + Sized + TypeFoldable<'tcx> + 'tcx {
|
||||||
type QueryResponse: TypeFoldable<'tcx>;
|
type QueryResponse: TypeFoldable<'tcx>;
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
//! Candidate selection. See the [rustc dev guide] for more information on how this works.
|
//! Candidate selection. See the [rustc dev guide] for more information on how this works.
|
||||||
//!
|
//!
|
||||||
//! [rustc dev guide]: https://rust-lang.github.io/rustc-dev-guide/traits/resolution.html#selection
|
//! [rustc dev guide]: https://rustc-dev-guide.rust-lang.org/traits/resolution.html#selection
|
||||||
|
|
||||||
use self::EvaluationResult::*;
|
use self::EvaluationResult::*;
|
||||||
use self::SelectionCandidate::*;
|
use self::SelectionCandidate::*;
|
||||||
@ -934,7 +934,7 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> {
|
|||||||
// candidates. See the [rustc dev guide] for more details.
|
// candidates. See the [rustc dev guide] for more details.
|
||||||
//
|
//
|
||||||
// [rustc dev guide]:
|
// [rustc dev guide]:
|
||||||
// https://rust-lang.github.io/rustc-dev-guide/traits/resolution.html#candidate-assembly
|
// https://rustc-dev-guide.rust-lang.org/traits/resolution.html#candidate-assembly
|
||||||
|
|
||||||
fn candidate_from_obligation<'o>(
|
fn candidate_from_obligation<'o>(
|
||||||
&mut self,
|
&mut self,
|
||||||
@ -2450,7 +2450,7 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> {
|
|||||||
// type error. See the [rustc dev guide] for more details.
|
// type error. See the [rustc dev guide] for more details.
|
||||||
//
|
//
|
||||||
// [rustc dev guide]:
|
// [rustc dev guide]:
|
||||||
// https://rust-lang.github.io/rustc-dev-guide/traits/resolution.html#confirmation
|
// https://rustc-dev-guide.rust-lang.org/traits/resolution.html#confirmation
|
||||||
|
|
||||||
fn confirm_candidate(
|
fn confirm_candidate(
|
||||||
&mut self,
|
&mut self,
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
//! See the [rustc dev guide] for a bit more detail on how specialization
|
//! See the [rustc dev guide] for a bit more detail on how specialization
|
||||||
//! fits together with the rest of the trait machinery.
|
//! fits together with the rest of the trait machinery.
|
||||||
//!
|
//!
|
||||||
//! [rustc dev guide]: https://rust-lang.github.io/rustc-dev-guide/traits/specialization.html
|
//! [rustc dev guide]: https://rustc-dev-guide.rust-lang.org/traits/specialization.html
|
||||||
|
|
||||||
pub mod specialization_graph;
|
pub mod specialization_graph;
|
||||||
use specialization_graph::GraphExt;
|
use specialization_graph::GraphExt;
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
//! For more information about how MIR-based region-checking works,
|
//! For more information about how MIR-based region-checking works,
|
||||||
//! see the [rustc dev guide].
|
//! see the [rustc dev guide].
|
||||||
//!
|
//!
|
||||||
//! [rustc dev guide]: https://rust-lang.github.io/rustc-dev-guide/borrow_check.html
|
//! [rustc dev guide]: https://rustc-dev-guide.rust-lang.org/borrow_check.html
|
||||||
|
|
||||||
use rustc::hir::map::Map;
|
use rustc::hir::map::Map;
|
||||||
use rustc::middle::region::*;
|
use rustc::middle::region::*;
|
||||||
|
@ -3,4 +3,4 @@ specific to different compilation targets and so forth.
|
|||||||
|
|
||||||
For more information about how rustc works, see the [rustc dev guide].
|
For more information about how rustc works, see the [rustc dev guide].
|
||||||
|
|
||||||
[rustc dev guide]: https://rust-lang.github.io/rustc-dev-guide/
|
[rustc dev guide]: https://rustc-dev-guide.rust-lang.org/
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
For high-level intro to how type checking works in rustc, see the
|
For high-level intro to how type checking works in rustc, see the
|
||||||
[type checking] chapter of the [rustc dev guide].
|
[type checking] chapter of the [rustc dev guide].
|
||||||
|
|
||||||
[type checking]: https://rust-lang.github.io/rustc-dev-guide/type-checking.html
|
[type checking]: https://rustc-dev-guide.rust-lang.org/type-checking.html
|
||||||
[rustc dev guide]: https://rust-lang.github.io/rustc-dev-guide/
|
[rustc dev guide]: https://rustc-dev-guide.rust-lang.org/
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
//! Method lookup: the secret sauce of Rust. See the [rustc dev guide] for more information.
|
//! Method lookup: the secret sauce of Rust. See the [rustc dev guide] for more information.
|
||||||
//!
|
//!
|
||||||
//! [rustc dev guide]: https://rust-lang.github.io/rustc-dev-guide/method-lookup.html
|
//! [rustc dev guide]: https://rustc-dev-guide.rust-lang.org/method-lookup.html
|
||||||
|
|
||||||
mod confirm;
|
mod confirm;
|
||||||
pub mod probe;
|
pub mod probe;
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
//! Module for inferring the variance of type and lifetime parameters. See the [rustc dev guide]
|
//! Module for inferring the variance of type and lifetime parameters. See the [rustc dev guide]
|
||||||
//! chapter for more info.
|
//! chapter for more info.
|
||||||
//!
|
//!
|
||||||
//! [rustc dev guide]: https://rust-lang.github.io/rustc-dev-guide/variance.html
|
//! [rustc dev guide]: https://rustc-dev-guide.rust-lang.org/variance.html
|
||||||
|
|
||||||
use hir::Node;
|
use hir::Node;
|
||||||
use rustc::ty::query::Providers;
|
use rustc::ty::query::Providers;
|
||||||
|
@ -77,8 +77,8 @@ pub fn determine_parameters_to_be_inferred<'a, 'tcx>(
|
|||||||
|
|
||||||
// See the following for a discussion on dep-graph management.
|
// See the following for a discussion on dep-graph management.
|
||||||
//
|
//
|
||||||
// - https://rust-lang.github.io/rustc-dev-guide/query.html
|
// - https://rustc-dev-guide.rust-lang.org/query.html
|
||||||
// - https://rust-lang.github.io/rustc-dev-guide/variance.html
|
// - https://rustc-dev-guide.rust-lang.org/variance.html
|
||||||
tcx.hir().krate().visit_all_item_likes(&mut terms_cx);
|
tcx.hir().krate().visit_all_item_likes(&mut terms_cx);
|
||||||
|
|
||||||
terms_cx
|
terms_cx
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
For more information about how `librustdoc` works, see the [rustc dev guide].
|
For more information about how `librustdoc` works, see the [rustc dev guide].
|
||||||
|
|
||||||
[rustc dev guide]: https://rust-lang.github.io/rustc-dev-guide/rustdoc.html
|
[rustc dev guide]: https://rustc-dev-guide.rust-lang.org/rustdoc.html
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Compiler Test Documentation
|
# Compiler Test Documentation
|
||||||
|
|
||||||
Documentation for the compiler testing framework can be found in
|
Documentation for the compiler testing framework can be found in
|
||||||
[the rustc dev guide](https://rust-lang.github.io/rustc-dev-guide/tests/intro.html).
|
[the rustc dev guide](https://rustc-dev-guide.rust-lang.org/tests/intro.html).
|
||||||
|
@ -17,7 +17,7 @@ Hey LLVM ICE-breakers! This bug has been identified as a good
|
|||||||
[instructions] for tackling these sorts of bugs. Maybe take a look?
|
[instructions] for tackling these sorts of bugs. Maybe take a look?
|
||||||
Thanks! <3
|
Thanks! <3
|
||||||
|
|
||||||
[instructions]: https://rust-lang.github.io/rustc-dev-guide/ice-breaker/llvm.html
|
[instructions]: https://rustc-dev-guide.rust-lang.org/ice-breaker/llvm.html
|
||||||
"""
|
"""
|
||||||
label = "ICEBreaker-LLVM"
|
label = "ICEBreaker-LLVM"
|
||||||
|
|
||||||
@ -28,6 +28,6 @@ Hey Cleanup Crew ICE-breakers! This bug has been identified as a good
|
|||||||
[instructions] for tackling these sorts of bugs. Maybe take a look?
|
[instructions] for tackling these sorts of bugs. Maybe take a look?
|
||||||
Thanks! <3
|
Thanks! <3
|
||||||
|
|
||||||
[instructions]: https://rust-lang.github.io/rustc-dev-guide/ice-breaker/cleanup-crew.html
|
[instructions]: https://rustc-dev-guide.rust-lang.org/ice-breaker/cleanup-crew.html
|
||||||
"""
|
"""
|
||||||
label = "ICEBreaker-Cleanup-Crew"
|
label = "ICEBreaker-Cleanup-Crew"
|
||||||
|
Loading…
Reference in New Issue
Block a user