Skip to content

Commit 00f1a13

Browse files
authored
Merge pull request #64 from rust-lang/skill-tree
Update skill tree to current status
2 parents 5d3db6d + 16f72e7 commit 00f1a13

File tree

3 files changed

+50
-17
lines changed

3 files changed

+50
-17
lines changed

book.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@ title = "const-eval"
88
command = "mdbook-skill-tree"
99
[output.html]
1010
additional-js =["viz.js", "full.render.js", "skill-tree.js"]
11-
additional-css =["skill-tree.css"]
11+
additional-css =["skill-tree.css", "skill-tree-finetuning.css"]

skill-tree-finetuning.css

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
2+
:root {
3+
--content-max-width: 2000px;
4+
}

src/skill_tree.md

+45-16
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
# Skill tree for const eval features
22

33
```skill-tree
4+
[[group]]
5+
name = "cell_ref"
6+
label = "references to interior mutability\nfeature:const_cell_refs"
7+
href = "https://github.com/rust-lang/rust/issues/79703"
8+
items = []
9+
410
[[group]]
511
name = "mut_ref"
612
label = "mutable references in\nconst fn\nfeature:const_mut_refs"
@@ -30,7 +36,7 @@ items = []
3036
[[group]]
3137
name = "heap"
3238
label = "heap allocations"
33-
requires = []
39+
requires = ["mut_ref", "cell_ref", "trait_impl"]
3440
items = []
3541
href = "https://github.com/rust-lang/const-eval/issues/20"
3642
@@ -72,22 +78,46 @@ href = "https://github.com/rust-lang/rust/issues/53020"
7278
requires = []
7379
items = []
7480
81+
[[group]]
82+
name = "unsafe_rules"
83+
label = "unsafe operations in CTFE"
84+
href = "https://github.com/rust-lang/rfcs/pull/3016"
85+
items = []
86+
7587
[[group]]
7688
name = "unconst_rules"
77-
label = "Need to come up\nwith a scheme\nfor const unsafe/unconst"
78-
items = [
79-
{ label = "feature:const_fn_transmute", href = "https://github.com/rust-lang/rust/issues/53605" },
80-
{ label = "feature:const_fn_union", href = "https://github.com/rust-lang/rust/issues/51909", port = "union" },
81-
{ label = "feature:const_raw_ptr_deref", href = "https://github.com/rust-lang/rust/issues/51911", port = "raw_ptr_deref" },
82-
]
89+
label = "unconst operations"
8390
href = "https://github.com/rust-lang/const-eval/issues/14"
91+
items = []
92+
requires = ["unsafe_rules"]
93+
94+
[[group]]
95+
name = "transmute"
96+
label = "feature:const_fn_transmute"
97+
items = []
98+
requires = ["unsafe_rules"]
99+
href = "https://github.com/rust-lang/rust/issues/53605"
100+
101+
[[group]]
102+
name = "union"
103+
label = "feature:const_fn_union"
104+
items = []
105+
requires = ["unsafe_rules"]
106+
href = "https://github.com/rust-lang/rust/issues/51909"
107+
108+
[[group]]
109+
name = "raw_ptr_deref"
110+
label = "feature:const_raw_ptr_deref"
111+
items = []
112+
requires = ["unsafe_rules"]
113+
href = "https://github.com/rust-lang/rust/issues/51911"
84114
85115
[[group]]
86116
name = "offset_of"
87117
label = "offset_of"
88118
items = []
89119
requires = [
90-
"unconst_rules:raw_ptr_deref",
120+
"raw_ptr_deref",
91121
"raw_ref_macros",
92122
"maybe_uninit_as_ptr",
93123
"offset_from",
@@ -97,7 +127,7 @@ requires = [
97127
name = "offset"
98128
label = "offset\nfeature:const_ptr_offset"
99129
href = "https://github.com/rust-lang/rust/issues/71499"
100-
requires = ["unconst_rules"]
130+
requires = ["unsafe_rules"]
101131
items = []
102132
103133
[[group]]
@@ -186,8 +216,8 @@ items = []
186216
187217
[[group]]
188218
name = "const-blocks"
189-
label = "const blocks"
190-
href = "https://github.com/rust-lang/rfcs/pull/2920"
219+
label = "inline const"
220+
href = "https://github.com/rust-lang/rust/issues/76001"
191221
items = []
192222
193223
[[group]]
@@ -221,9 +251,8 @@ items = []
221251
label = "feature:const_trait_impl"
222252
name = "trait_impl"
223253
href="https://github.com/rust-lang/rust/issues/67792"
224-
items = [
225-
{ label = "?const trait bound opt out", href = "https://github.com/rust-lang/rust/issues/67794"}
226-
]
254+
items = []
255+
requires = ["trait_bound_opt_out"]
227256
228257
[[group]]
229258
label = "feature:const_raw_ptr_to_usize_cast"
@@ -267,7 +296,7 @@ requires = ["vec"]
267296
label = "Vec operations"
268297
name = "vec"
269298
items = []
270-
requires = ["mut_ref", "heap", "trait_impl", "drop", "unconst_rules:raw_ptr_deref"]
299+
requires = ["mut_ref", "heap", "trait_impl", "drop", "raw_ptr_deref"]
271300
272301
[[group]]
273302
label = "Drop"
@@ -279,7 +308,7 @@ requires = ["mut_ref", "trait_impl"]
279308
label = "ptr::copy_nonoverlapping"
280309
name = "copy_nonoverlapping"
281310
items = []
282-
requires = ["unconst_rules:raw_ptr_deref", "mut_ref"]
311+
requires = ["raw_ptr_deref", "mut_ref"]
283312
284313
[[group]]
285314
label = "async functions\nand blocks"

0 commit comments

Comments
 (0)