Skip to content

Commit ff137d4

Browse files
authored
Merge pull request #436 from Mcat12/fix/outdated-dev-guide-links
Fix outdated dev guide links
2 parents e1234f6 + 1d21a78 commit ff137d4

File tree

5 files changed

+14
-8
lines changed

5 files changed

+14
-8
lines changed

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,4 +92,4 @@ of the terminology used in chalk.
9292
### Trait solving in rustc-dev-guide
9393
The rustc-dev-guide describes [new-style trait solving][trait-solving], which is slowly replacing the old trait resolution.
9494

95-
[trait-solving]: https://rustc-dev-guide.rust-lang.org/traits/index.html
95+
[trait-solving]: https://rustc-dev-guide.rust-lang.org/traits/chalk.html

README.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,12 @@ See the [Chalk book](https://rust-lang.github.io/chalk/book/) for more informati
1111

1212
## FAQ
1313

14-
**How does chalk relate to rustc?** The plan is to have rustc use the `chalk-engine` crate (in this repo), which defines chalk's solver. The rest of chalk can then be considered an elaborate unit testing harness. For more details, see [the Traits chapter of the rustc-dev-guide](https://rustc-dev-guide.rust-lang.org/traits/index.html).
14+
**How does chalk relate to rustc?** The plan is to have rustc use the
15+
`chalk-solve` crate (in this repo) to answer questions about Rust programs, for
16+
example, "Does `Vec<u32>` implement `Debug`?". Internally, chalk converts
17+
Rust-specific information into logic and uses a logic engine to find the answer
18+
to the original query. For more details, see
19+
[this explanation in the chalk book][chalk-lowering-details].
1520

1621
**Where does the name come from?** `chalk` is named after [Chalkidiki], the area where [Aristotle] was
1722
born. Since Prolog is a logic programming language, this seemed a
@@ -20,6 +25,7 @@ suitable reference.
2025
[Prolog]: https://en.wikipedia.org/wiki/Prolog
2126
[Chalkidiki]: https://en.wikipedia.org/wiki/Chalkidiki
2227
[Aristotle]: https://en.wikipedia.org/wiki/Aristotle
28+
[chalk-lowering-details]: http://rust-lang.github.io/chalk/book/#chalk-works-by-converting-rust-goals-into-logical-inference-rules
2329

2430
## Blog posts
2531
[blog-posts]: #blog-posts

book/src/what_is_chalk.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
> Chalk is under heavy development, so if any of these links are broken or if
44
> any of the information is inconsistent with the code or outdated, please
5-
> [open an issue][rustc-issues] so we can fix it. If you are able to fix the
5+
> [open an issue][issues] so we can fix it. If you are able to fix the
66
> issue yourself, we would love your contribution!
77
88
Chalk is a library that implements the Rust trait system. The implementation is
@@ -11,7 +11,7 @@ full specification. It is also meant to be an independent library that can be
1111
integrated both into the main rustc compiler and also other programs and
1212
contexts.
1313

14-
[rustc-issues]: https://github.com/rust-lang/rustc-dev-guide/issues
14+
[issues]: https://github.com/rust-lang/chalk/issues
1515

1616
## High-level view of how chalk works
1717

chalk-engine/src/context.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,9 @@ pub trait Context: Clone + Debug {
4444

4545
/// A canonicalized `GoalInEnvironment` -- that is, one where all
4646
/// free inference variables have been bound into the canonical
47-
/// binder. See [the rustc-dev-guide] for more information.
47+
/// binder. See [the chalk book] for more information.
4848
///
49-
/// [the rustc-dev-guide]: https://rustc-dev-guide.rust-lang.org/traits/canonicalization.html
49+
/// [the chalk book]: https://rust-lang.github.io/chalk/book/canonical_queries/canonicalization.html
5050
type CanonicalGoalInEnvironment: Debug;
5151

5252
/// A u-canonicalized `GoalInEnvironment` -- this is one where the

chalk-engine/src/lib.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
//! An alternative solver based around the SLG algorithm, which
22
//! implements the well-formed semantics. For an overview of how the solver
3-
//! works, see [The On-Demand SLG Solver][guide] in the rustc-dev-guide.
3+
//! works, see [The On-Demand SLG Solver][guide] in the chalk book.
44
//!
5-
//! [guide]: https://rustc-dev-guide.rust-lang.org/traits/slg.html
5+
//! [guide]: https://rust-lang.github.io/chalk/book/engine/slg.html
66
//!
77
//! This algorithm is very closed based on the description found in the
88
//! following paper, which I will refer to in the comments as EWFS:

0 commit comments

Comments
 (0)