Skip to content

Commit d12ac47

Browse files
committed
book: add empty loan page, fill summary and rules index
1 parent 86e91f7 commit d12ac47

File tree

3 files changed

+12
-1
lines changed

3 files changed

+12
-1
lines changed

book/src/SUMMARY.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
- [Rules](./rules.md)
88
- [Atoms](./rules/atoms.md)
99
- [Relations](./rules/relations.md)
10-
- [Initialization](./rules/initialization.md)
10+
- [Initialization analysis](./rules/initialization.md)
11+
- [Liveness analysis](./rules/liveness.md)
12+
- [Loan analysis](./rules/loans.md)
1113
- [Testing Polonius](./testing.md)
1214
- [See also](./see_also.md)

book/src/rules.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,9 @@
22

33
These chapters document and explain the Polonius rules, primarily in
44
datalog form.
5+
6+
First, we'll describe the [atoms](./rules/atoms.md), and the [relations](./rules/relations.md) they are stored in. Then, we'll look at the polonius computation in more detail. It's a pipeline consisting of multiple steps and analyses:
7+
8+
- [Initialization analysis](./rules/initialization.md) will compute move and initialization errors, as well as the initialization and uninitialization data used by the next step.
9+
- [Liveness analysis](./rules/liveness.md) will compute which origins are live at which points in the control flow graph, used by the next step.
10+
- [Loan analysis](./rules/loans.md) (the core of "borrow checking") will compute illegal access errors, and illegal subset relationships errors. This is currently done with different variants (with different datalog rules) which will be described in that section.

book/src/rules/loans.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Loan analysis
2+
3+
**These rules are not yet described.**

0 commit comments

Comments
 (0)