Point of contact
@nikomatsakis @aturon @withoutboats
Overview
As part of the effort to lower Rust's learning curve, we are interested in pursuing a number of language improvements that will make Rust both nicer to use and easier to learn. The goal is to enhance productivity without sacrificing Rust's other core values. See the README for more details.
A kind of manifesto for this work was written up on the main blog.
Status
There are a lot of ideas in flight! The lang team has been focused on writing RFCs for the biggest changes; there are lots of opportunities to help either there, or with more narrow RFCs. If you are interested in the ideas listed below, please contact @aturon or others on the team to hook you up with a mentor for RFC writing!
The potential improvements are organized by broad areas of Rust:
Ownership/borrowing
RFCs
Sketches
Traits
RFCs
Sketches
Module and privacy system
Landed
RFCs
Sketches
Error handling
RFCs
Primitive types/core traits
Sketches
Type annotations/verbosity
RFCs
Sketches
FFI
Landed
Other
RFCs
More ideas
Ideas that didn't make it
Point of contact
@nikomatsakis @aturon @withoutboats
Overview
As part of the effort to lower Rust's learning curve, we are interested in pursuing a number of language improvements that will make Rust both nicer to use and easier to learn. The goal is to enhance productivity without sacrificing Rust's other core values. See the README for more details.
A kind of manifesto for this work was written up on the main blog.
Status
There are a lot of ideas in flight! The lang team has been focused on writing RFCs for the biggest changes; there are lots of opportunities to help either there, or with more narrow RFCs. If you are interested in the ideas listed below, please contact @aturon or others on the team to hook you up with a mentor for RFC writing!
The potential improvements are organized by broad areas of Rust:
Ownership/borrowing
RFCs
Sketches
AsRefcoercions) (@aturon)Copytypes (@aturon)Traits
RFCs
impl Traitstabilization and expansion (@aturon)impl Traitwork, e.g.impl Traitin traits (@aturon, @cramertj, @eddyb, @withoutboats)T: SomeTraitSketches
dyn Traitsyntax for trait objects (@nikomatsakis, @aturon)Module and privacy system
Landed
pub(restricted)is stable!RFCs
extern crateto take a list (@withoutboats)Sketches
Error handling
RFCs
?to work with more types (@nikomatsakis)?inmain(@nikomatsakis)Resultwhen leaving a block (@scottmcm, @nikomatsakis, @aturon)Try<Ok=()>: Add the()→Result<(), _>coercion rule, for removingOk(())everywhere. rfcs#2120Primitive types/core traits
Sketches
String(@aturon)PartialEq/PartialOrd(@aturon)#[derive(Data)]Type annotations/verbosity
RFCs
const/staticdeclarations (@schuster)Sketches
matcharms::infoo::<u32>(blah), in at least the single-argument caseFFI
Landed
Other
RFCs
async/awaitnotation built on top; we are considering landing that experimentally in the compiler.More ideas
returnand closuresIdeas that didn't make it
else match