Skip to content
This repository was archived by the owner on Jul 14, 2018. It is now read-only.
This repository was archived by the owner on Jul 14, 2018. It is now read-only.

Language ergonomic/learnability improvements #17

Open
@aturon

Description

@aturon

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

  • Unions
    • FCP period for stabilization is complete!

Other

RFCs

  • Default struct field values
  • Coroutines, supporting nice async/await syntax
    • RFC postponed, pending some open questions; see the summary and related internals thread
    • There's now a working implementation and async/await notation built on top; we are considering landing that experimentally in the compiler.

More ideas

Ideas that didn't make it

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions