Skip to content

Commit 6f5306d

Browse files
committed
Refine polish section impact, define milestones
This change elaborates the desired impact from the polish area and also sets an initial set of milestones to bring about this impact. We will continue to refine these over time.
1 parent a9f1455 commit 6f5306d

File tree

1 file changed

+32
-3
lines changed

1 file changed

+32
-3
lines changed

src/vision/roadmap/polish.md

Lines changed: 32 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,36 @@
22

33
## Impact
44

5+
* Users can predict and understand why the compiler raises error messages. Errors are aligned with an experienced user's intuition about how Rust works.
6+
* Error messages identify common misconceptions, suggest solutions, and are generally on par with sync Rust.
7+
* Errors not only show that there is a problem, they help the user to fix it and to learn more about Rust (possibly directing the user to other documentation).
8+
* The compiler may suggest crates from the ecosystem to help solve problems when appropriate.
59
* Lints guide the user away from common errors and help them both to get started with async Rust and to maintain async Rust programs over time.
6-
* Errors not only show that there is a problem, they help the user to fix it and to learn more about Rust (possibly directing the user to other documentation).
7-
* The generated code from the compiler is high quality and performant.
8-
* Integration with low-level tooling and the like is high-quality.
10+
* Rust's async implementation is high quality and reflects an attention to detail.
11+
* No internal compiler errors
12+
* Compiler analysis and code generation passes are precise and not unnecessarily conservative.
13+
* Integration with low-level tooling and the like is high-quality.
14+
* The generated code from the compiler is high quality and performant.
15+
16+
## Milestones
17+
18+
| Milestone | State | Key participants |
19+
| --- | --- | --- |
20+
| Precise generator captures | 🦀 | [eholk] |
21+
| ↳ Prototype | 🦀 | [eholk] |
22+
| ↳ Documented in Rust Reference | 🦀 | [eholk] |
23+
|[Lang team] signoff | 💤 | [Lang team] |
24+
| ↳ Stabilized | 💤 | [eholk] |
25+
| Lint: [Large copies], large generators | 💤 | |
26+
|[Lang team] initiative proposal | 💤 | |
27+
| ↳ Implementation | 💤 | |
28+
| Lint: [Live over yield] | 💤 | |
29+
| ↳ Landed the RFC | 💤 | |
30+
| Lint: [Blocking in async context] | 💤 | |
31+
32+
33+
[eholk]: https://github.com/eholk/
34+
[Lang team]: https://www.rust-lang.org/governance/teams/lang
35+
[Blocking in async context]: ./polish/lint_blocking_fns.md
36+
[Large copies]: ./polish/lint_large_copies.md
37+
[Live over yield]: ./polish/lint_must_not_suspend.md

0 commit comments

Comments
 (0)