The Rust project is currently working towards a slate of 16 project goals, with 0 of them designated as Roadmap Goals. This post provides selected updates on our progress towards these goals (or, in some cases, lack thereof). The full details for any particular goal are available in its associated tracking issue on the goals repository.
Roadmap goals
Goals looking for help
Other goal updates
| Progress | |
| Contact | |
| Champions |
No detailed updates available.
| Progress | |
| Contact | |
| Champions | |
| Task owners |
No detailed updates available.
| Progress | |
| Contact | |
| Champions |
bootstrap (Jakub Beránek), lang (Niko Matsakis), spec (Pete LeVasseur) |
| Task owners |
Pete LeVasseur, Contributors from Ferrous Systems and others TBD, |
No detailed updates available.
| Progress | |
| Contact | |
| Champions | |
| Task owners |
No detailed updates available.
| Progress | |
| Contact | |
| Champions | |
| Task owners |
Taylor Cramer, Taylor Cramer & others |
1 detailed update available.
Current status: there is an RFC for auto impl supertraits that has received some discussion and updates (thank you, Ding Xiang Fei!).
The major open questions currently are:
Syntax
The current RFC proposes:
#![allow(unused)]
fn main() {
trait Subtrait: Supertrait {
auto impl Supertrait {
// Supertrait items defined in terms of Subtrait items, if any
}
}
}
Additionally, there is an open question around the syntax of auto impl for unsafe supertraits. The current proposal is to require unsafe auto impl Supertrait.
Whether to require impls to opt-out of auto impls
The current RFC proposes that
#![allow(unused)]
fn main() {
impl Supertrait for MyType {}
impl Subtrait for MyType {
// Required in order to manually write `Supertrait` for MyType.
extern impl Supertrait;
}
}
This makes it explicit via opt-out whether an auto impl is being applied. However, this is in conflict with the goal of allowing auto impls to be added to existing trait hierarchies. The RFC proposes to resolve this via a temporary attribute which triggers a warning. See my comment here.
Note that properly resolving whether or not to apply an auto impl requires coherence-like analysis.
| Progress | |
| Contact | |
| Champions | |
| Task owners |
Amanieu d'Antras, Guillaume Gomez, Jack Huey, Josh Triplett, lcnr, Mara Bos, Vadim Petrochenkov, Jane Lusby |
No detailed updates available.
| Progress | |
| Contact | |
| Champions |
compiler (Manuel Drehwald), lang (TC) |
| Task owners |
Manuel Drehwald, LLVM offload/GPU contributors |
No detailed updates available.
| Progress | |
| Contact | |
| Champions |
lang (Josh Triplett), lang-docs (TC) |
| Task owners |
No detailed updates available.
| Progress | |
| Contact | |
| Champions | |
| Task owners |
bjorn3, Folkert de Vries, [Trifecta Tech Foundation] |
No detailed updates available.
| Progress | |
| Contact | |
| Champions | |
| Task owners |
No detailed updates available.
| Progress | |
| Contact | |
| Champions | |
| Task owners |
@dropbear32, @osiewicz |
No detailed updates available.
| Progress | |
| Contact | |
| Champions | |
| Task owners |
No detailed updates available.
| Progress | |
| Contact | |
| Champions | |
| Task owners |
No detailed updates available.
| Progress | |
| Contact | |
| Task owners |
vision team |
No detailed updates available.
| Progress | |
| Contact | |
| Champions | |
| Task owners |
1 detailed update available.
It is possible to now run the system with two different machines on two different architectures however there is work to be done to make this more robust.
We have worked on ironing out the last bits and pieces for dequeuing benchmarks as well as creating a new user interface to reflect multiple collectors doing work. Presently work is mostly on polishing the UI and handing edge cases through manual testing.
Queue Work:
- https://github.com/rust-lang/rustc-perf/pull/2212
- https://github.com/rust-lang/rustc-perf/pull/2214
- https://github.com/rust-lang/rustc-perf/pull/2216
- https://github.com/rust-lang/rustc-perf/pull/2221
- https://github.com/rust-lang/rustc-perf/pull/2226
- https://github.com/rust-lang/rustc-perf/pull/2230
- https://github.com/rust-lang/rustc-perf/pull/2231
Ui:
- https://github.com/rust-lang/rustc-perf/pull/2217
- https://github.com/rust-lang/rustc-perf/pull/2220
- https://github.com/rust-lang/rustc-perf/pull/2224
- https://github.com/rust-lang/rustc-perf/pull/2227
- https://github.com/rust-lang/rustc-perf/pull/2232
- https://github.com/rust-lang/rustc-perf/pull/2233
- https://github.com/rust-lang/rustc-perf/pull/2236
| Progress | |
| Contact | |
| Champions | |
| Task owners |