Skip to content

Commit a8b20fd

Browse files
committed
cc docs: remove manual links and improve sidebar
Replaced hand-written intra-doc links with automatic doctool linking. Sidebar now reflects the subsection hierarchy.
1 parent cc5b61c commit a8b20fd

File tree

9 files changed

+19
-47
lines changed

9 files changed

+19
-47
lines changed

docs/_docs/reference/experimental/cc-checked-exceptions.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,3 @@ To integrate exception and capture checking, only two changes are needed:
8686
- `CanThrow` is declared as a class extending `Control`, so all references to `CanThrow` instances are tracked.
8787
- Escape checking is extended to `try` expressions. The result type of a `try` is not allowed to
8888
capture capabilities defined in the body of the `try`.
89-
90-
---
91-
92-
Next: [How to Use the Capture Checker](./cc-how-to-use.md)

docs/_docs/reference/experimental/cc-classes.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,3 @@ That variant would not require any capture annotations either.
231231
To summarize, there are two "sweet spots" of data structure design: strict lists in
232232
side-effecting or resource-aware code and lazy lists in purely functional code.
233233
Both are already correctly capture-typed without requiring any explicit annotations. Capture annotations only come into play where the semantics gets more complicated because we deal with delayed effects such as in impure lazy lists or side-effecting iterators over strict lists. This property is probably one of the greatest plus points of our approach to capture checking compared to previous techniques which tend to be more noisy.
234-
235-
----
236-
237-
Next: [Capability Polymorphism](./cc-polymorphism.md)

docs/_docs/reference/experimental/cc-classifiers.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,3 @@ def test(io: IO, async: Async, proc: () => Unit) =
107107
// code accessing `io`, `async`, and `proc` and returning an `Int.
108108
val _: Try[Int]^{async, proc} = r
109109
```
110-
111-
---
112-
113-
Next: [Checked exceptions](./cc-checked-exceptions.md)

docs/_docs/reference/experimental/cc-how-to-use.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,3 @@ The following options are relevant for capture checking.
1717
- **-Ycc-debug** Gives more detailed, implementation-oriented information about capture checking, as described in the next section.
1818

1919
The implementation supporting capture checking with these options is currently in branch `cc-experiment` on dotty.epfl.ch.
20-
21-
---
22-
23-
To find out more about the internal workings of the capture checker: [Capture Checking Internals](./cc-internals.md)

docs/_docs/reference/experimental/cc-polymorphism.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,3 @@ upper bound: `type Cap^ >: {cudaMalloc, cudaFree}`.
9393
----
9494

9595
[More Advanced Use Cases](cc-advanced.md)
96-
97-
----
98-
99-
Next: [Scoped Caps](./cc-scoped-caps.md)

docs/_docs/reference/experimental/cc-scoped-caps.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,3 @@ def f(ops: List[A => B])
118118
...
119119
```
120120
Reach capabilities take the form `x*` where `x` is syntactically a regular capability. If `x: T` then `x*` stands for any capability that appears covariantly in `T` and that is accessed through `x`. The least supertype of this capability is the set of all capabilities appearing covariantly in `T`.
121-
122-
---
123-
124-
Next: [Capability Classifiers](./cc-classifiers.md)
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,7 @@
1+
---
2+
layout: doc-page
3+
title: "Separation Checking"
4+
nightlyOf: https://docs.scala-lang.org/scala3/reference/experimental/cc-separation-checking.html
5+
---
6+
17
# TODO

docs/_docs/reference/experimental/cc.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -298,7 +298,3 @@ where `loophole` is defined.
298298
Looking at object graphs, we observe a monotonicity property: The capture set of an object `x` covers the capture sets of all objects reachable through `x`. This property is reflected in the type system by the following _monotonicity rule_:
299299

300300
- In a class `C` with a field `f`, the capture set `{this}` covers the capture set `{this.f}` as well as the capture set of any application of `this.f` to pure arguments.
301-
302-
----
303-
304-
Next: [Capture Checking of Classes](./cc-classes.md)

docs/sidebar.yml

Lines changed: 13 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -162,25 +162,19 @@ subsection:
162162
- page: reference/experimental/explicit-nulls.md
163163
- page: reference/experimental/main-annotation.md
164164
- page: reference/experimental/into.md
165-
- page: reference/experimental/cc.md
166-
- page: reference/experimental/cc-classes.md
167-
hidden: true
168-
- page: reference/experimental/cc-polymorphism.md
169-
hidden: true
170-
- page: reference/experimental/cc-advanced.md
171-
hidden: true
172-
- page: reference/experimental/cc-scoped-caps.md
173-
hidden: true
174-
- page: reference/experimental/cc-classifiers.md
175-
hidden: true
176-
- page: reference/experimental/cc-checked-exceptions.md
177-
hidden: true
178-
- page: reference/experimental/cc-separation-checking.md
179-
hidden: true
180-
- page: reference/experimental/cc-how-to-use.md
181-
hidden: true
182-
- page: reference/experimental/cc-internals.md
183-
hidden: true
165+
- title: Capture checking
166+
index: reference/experimental/cc.md
167+
subsection:
168+
- page: reference/experimental/cc-classes.md
169+
- page: reference/experimental/cc-polymorphism.md
170+
- page: reference/experimental/cc-advanced.md
171+
hidden: true
172+
- page: reference/experimental/cc-scoped-caps.md
173+
- page: reference/experimental/cc-classifiers.md
174+
- page: reference/experimental/cc-checked-exceptions.md
175+
- page: reference/experimental/cc-separation-checking.md
176+
- page: reference/experimental/cc-how-to-use.md
177+
- page: reference/experimental/cc-internals.md
184178
- page: reference/experimental/purefuns.md
185179
- page: reference/experimental/tupled-function.md
186180
- page: reference/experimental/modularity.md

0 commit comments

Comments
 (0)