From 2113761f4fff683f9162480c5919e47ea6244aba Mon Sep 17 00:00:00 2001 From: Niko Matsakis Date: Fri, 6 Mar 2020 09:47:30 -0500 Subject: [PATCH 1/7] add more details about rustc-integration-mvp --- roadmap.toml | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/roadmap.toml b/roadmap.toml index 7ebe647..ee4d32c 100644 --- a/roadmap.toml +++ b/roadmap.toml @@ -19,7 +19,8 @@ items = [ name = "impl-trait" label = "Model `impl Trait`" items = [ - { label = "Preliminary model for opaque types where hidden types are known", status="Assigned", ref = "https://github.com/rust-lang/chalk/issues/335" } + { label = "Preliminary model for opaque types where hidden types are known", status="Assigned", ref = "https://github.com/rust-lang/chalk/issues/335" }, + { label = "Sketch out the integration plan", status="Assigned" }, ] [[group]] @@ -55,17 +56,38 @@ items = [ { label = "Align placeholders and ty::Param", status="Blocked" }, { label = "Move Identifier to TypeFamily", status="Complete" }, { label = "Adapt rustc's debruijn index model", port="debruijn", status="Assigned", href="https://github.com/rust-lang/chalk/issues/334" }, + { label = "Adapt rustc's representation of regions", status="Blocked" }, { label = "Remove all vectors, boxes" }, { label = "Introduce a `Visit` trait", href="https://github.com/rust-lang/chalk/issues/333", port="visit" }, ] +[[group]] +name = "chalk-builtin-traits" +label = "Extend chalk-solve with knowledge of builtin-traits" +items = [ + { label="support the `Sized` trait", status="Blocked" }, + { label="support the `Clone` trait", status="Blocked" }, + { label="support the `Copy` trait", status="Blocked" }, + { label="support the `Unsized` trait", status="Blocked" }, +] + +[[group]] +name = "chalk-const" +label = "Extend chalk to support constants" +items = [ + { label="introduce constant 'kind', alongside types and lifetimes", status="Blocked" }, +] + [[group]] name = "rustc-integration-mvp" label = "Integrate chalk-solve into rustc" -requires = [ "map-chalk-types-to-rustc-types" ] +requires = [ "map-chalk-types-to-rustc-types", "chalk-const" ] items = [ - { label="remove old chalk support" }, - { label="create" }, + { label="remove old chalk support", status="Complete", href="https://github.com/rust-lang/rust/pull/69247" }, + { label="exploratory integration to better uncover requirements", status="Assigned" }, + { label="map rustc types to chalk types", status="Blocked" }, + { label="map rustc predicates to chalk goals, clauses", status="Blocked" }, + { label="implement RustIrDatabase in trait", status="Blocked" }, ] [[group]] From b2a8a7102863880236f53e516e1c33fe792640bb Mon Sep 17 00:00:00 2001 From: Niko Matsakis Date: Fri, 6 Mar 2020 11:15:43 -0500 Subject: [PATCH 2/7] jack's suggestions --- roadmap.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/roadmap.toml b/roadmap.toml index ee4d32c..e298cb9 100644 --- a/roadmap.toml +++ b/roadmap.toml @@ -81,10 +81,10 @@ items = [ [[group]] name = "rustc-integration-mvp" label = "Integrate chalk-solve into rustc" -requires = [ "map-chalk-types-to-rustc-types", "chalk-const" ] +requires = [ "map-chalk-types-to-rustc-types", "chalk-const", "chalk-builtin-traits" ] items = [ { label="remove old chalk support", status="Complete", href="https://github.com/rust-lang/rust/pull/69247" }, - { label="exploratory integration to better uncover requirements", status="Assigned" }, + { label="exploratory integration to better uncover requirements", href="https://github.com/rust-lang/rust/pull/69406", status="Assigned" }, { label="map rustc types to chalk types", status="Blocked" }, { label="map rustc predicates to chalk goals, clauses", status="Blocked" }, { label="implement RustIrDatabase in trait", status="Blocked" }, From ca5482975e5f12a867cfc39afe289ce0bbf36e25 Mon Sep 17 00:00:00 2001 From: Niko Matsakis Date: Fri, 6 Mar 2020 11:17:49 -0500 Subject: [PATCH 3/7] add some links --- roadmap.toml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/roadmap.toml b/roadmap.toml index e298cb9..ea41178 100644 --- a/roadmap.toml +++ b/roadmap.toml @@ -65,7 +65,7 @@ items = [ name = "chalk-builtin-traits" label = "Extend chalk-solve with knowledge of builtin-traits" items = [ - { label="support the `Sized` trait", status="Blocked" }, + { label="support the `Sized` trait", status="Blocked", href="https://github.com/rust-lang/chalk/issues/261" }, { label="support the `Clone` trait", status="Blocked" }, { label="support the `Copy` trait", status="Blocked" }, { label="support the `Unsized` trait", status="Blocked" }, @@ -96,7 +96,8 @@ label = "Explore proposed language features" requires = [ "rustc-integration-mvp", "rust-analyzer-integration" ] status = "Blocked" items = [ - { label="implied bounds" }, + { label="Implied bounds" }, + { label="Specialization", href="https://github.com/rust-lang/chalk/issues/9" }, ] [[goal]] From 77bbce8eca7d186f926ac00a06b523fdba568b42 Mon Sep 17 00:00:00 2001 From: Niko Matsakis Date: Fri, 6 Mar 2020 11:30:43 -0500 Subject: [PATCH 4/7] add a chalk-debugging section --- roadmap.toml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/roadmap.toml b/roadmap.toml index ea41178..086f79e 100644 --- a/roadmap.toml +++ b/roadmap.toml @@ -100,6 +100,15 @@ items = [ { label="Specialization", href="https://github.com/rust-lang/chalk/issues/9" }, ] +[[group]] +name = "chalk-debugging" +label = "Improve ability to debug chalk from within rustc or rust-analyzer" +requires = [ ] +items = [ + { label="Integrate tracing library", href="https://github.com/rust-lang/chalk/issues/337" }, + { label="Extract standalone examples automatically" }, +] + [[goal]] name = "library" label = "Chalk usable as a standalone library for traits solving" From 76971042b73c56386f65062c4a941f424483a622 Mon Sep 17 00:00:00 2001 From: Niko Matsakis Date: Fri, 6 Mar 2020 11:30:58 -0500 Subject: [PATCH 5/7] attach it to a goal --- roadmap.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roadmap.toml b/roadmap.toml index 086f79e..234d11e 100644 --- a/roadmap.toml +++ b/roadmap.toml @@ -112,7 +112,7 @@ items = [ [[goal]] name = "library" label = "Chalk usable as a standalone library for traits solving" -requires = [ "rustc-integration-mvp", "rust-analyzer-integration" ] +requires = [ "rustc-integration-mvp", "rust-analyzer-integration", "chalk-debugging" ] [[goal]] name = "gats" From a0843c9ff183cb914f956e0f12c8688d32db0f9d Mon Sep 17 00:00:00 2001 From: Niko Matsakis Date: Fri, 6 Mar 2020 11:31:12 -0500 Subject: [PATCH 6/7] tracing is assigned --- roadmap.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roadmap.toml b/roadmap.toml index 234d11e..ff05775 100644 --- a/roadmap.toml +++ b/roadmap.toml @@ -105,7 +105,7 @@ name = "chalk-debugging" label = "Improve ability to debug chalk from within rustc or rust-analyzer" requires = [ ] items = [ - { label="Integrate tracing library", href="https://github.com/rust-lang/chalk/issues/337" }, + { label="Integrate tracing library", href="https://github.com/rust-lang/chalk/issues/337", status="Assigned" }, { label="Extract standalone examples automatically" }, ] From 9ecbb5147c9a8c12c8c4faa00a148a9c3fb1d27d Mon Sep 17 00:00:00 2001 From: Niko Matsakis Date: Fri, 6 Mar 2020 11:37:32 -0500 Subject: [PATCH 7/7] add mention of flags --- roadmap.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/roadmap.toml b/roadmap.toml index ff05775..949b4b5 100644 --- a/roadmap.toml +++ b/roadmap.toml @@ -59,6 +59,7 @@ items = [ { label = "Adapt rustc's representation of regions", status="Blocked" }, { label = "Remove all vectors, boxes" }, { label = "Introduce a `Visit` trait", href="https://github.com/rust-lang/chalk/issues/333", port="visit" }, + { label = "Add and integrate flags into types and elsewhere" }, ] [[group]]