Skip to content

Commit 5946f38

Browse files
authored
Merge pull request #10 from nikomatsakis/roadmap5
add more details about rustc-integration-mvp and other roadmap items
2 parents 82318c8 + 9ecbb51 commit 5946f38

File tree

1 file changed

+39
-6
lines changed

1 file changed

+39
-6
lines changed

roadmap.toml

+39-6
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ items = [
1919
name = "impl-trait"
2020
label = "Model `impl Trait`"
2121
items = [
22-
{ label = "Preliminary model for opaque types where hidden types are known", status="Assigned", ref = "https://github.com/rust-lang/chalk/issues/335" }
22+
{ label = "Preliminary model for opaque types where hidden types are known", status="Assigned", ref = "https://github.com/rust-lang/chalk/issues/335" },
23+
{ label = "Sketch out the integration plan", status="Assigned" },
2324
]
2425

2526
[[group]]
@@ -55,17 +56,39 @@ items = [
5556
{ label = "Align placeholders and ty::Param", status="Blocked" },
5657
{ label = "Move Identifier to TypeFamily", status="Complete" },
5758
{ label = "Adapt rustc's debruijn index model", port="debruijn", status="Assigned", href="https://github.com/rust-lang/chalk/issues/334" },
59+
{ label = "Adapt rustc's representation of regions", status="Blocked" },
5860
{ label = "Remove all vectors, boxes" },
5961
{ label = "Introduce a `Visit` trait", href="https://github.com/rust-lang/chalk/issues/333", port="visit" },
62+
{ label = "Add and integrate flags into types and elsewhere" },
63+
]
64+
65+
[[group]]
66+
name = "chalk-builtin-traits"
67+
label = "Extend chalk-solve with knowledge of builtin-traits"
68+
items = [
69+
{ label="support the `Sized` trait", status="Blocked", href="https://github.com/rust-lang/chalk/issues/261" },
70+
{ label="support the `Clone` trait", status="Blocked" },
71+
{ label="support the `Copy` trait", status="Blocked" },
72+
{ label="support the `Unsized` trait", status="Blocked" },
73+
]
74+
75+
[[group]]
76+
name = "chalk-const"
77+
label = "Extend chalk to support constants"
78+
items = [
79+
{ label="introduce constant 'kind', alongside types and lifetimes", status="Blocked" },
6080
]
6181

6282
[[group]]
6383
name = "rustc-integration-mvp"
6484
label = "Integrate chalk-solve into rustc"
65-
requires = [ "map-chalk-types-to-rustc-types" ]
85+
requires = [ "map-chalk-types-to-rustc-types", "chalk-const", "chalk-builtin-traits" ]
6686
items = [
67-
{ label="remove old chalk support" },
68-
{ label="create" },
87+
{ label="remove old chalk support", status="Complete", href="https://github.com/rust-lang/rust/pull/69247" },
88+
{ label="exploratory integration to better uncover requirements", href="https://github.com/rust-lang/rust/pull/69406", status="Assigned" },
89+
{ label="map rustc types to chalk types", status="Blocked" },
90+
{ label="map rustc predicates to chalk goals, clauses", status="Blocked" },
91+
{ label="implement RustIrDatabase in trait", status="Blocked" },
6992
]
7093

7194
[[group]]
@@ -74,13 +97,23 @@ label = "Explore proposed language features"
7497
requires = [ "rustc-integration-mvp", "rust-analyzer-integration" ]
7598
status = "Blocked"
7699
items = [
77-
{ label="implied bounds" },
100+
{ label="Implied bounds" },
101+
{ label="Specialization", href="https://github.com/rust-lang/chalk/issues/9" },
102+
]
103+
104+
[[group]]
105+
name = "chalk-debugging"
106+
label = "Improve ability to debug chalk from within rustc or rust-analyzer"
107+
requires = [ ]
108+
items = [
109+
{ label="Integrate tracing library", href="https://github.com/rust-lang/chalk/issues/337", status="Assigned" },
110+
{ label="Extract standalone examples automatically" },
78111
]
79112

80113
[[goal]]
81114
name = "library"
82115
label = "Chalk usable as a standalone library for traits solving"
83-
requires = [ "rustc-integration-mvp", "rust-analyzer-integration" ]
116+
requires = [ "rustc-integration-mvp", "rust-analyzer-integration", "chalk-debugging" ]
84117

85118
[[goal]]
86119
name = "gats"

0 commit comments

Comments
 (0)