whatisgithub

What is rfcs?

rust-lang/rfcs — explained in plain English

Analysis updated 2026-06-24

6,487MarkdownAudience · developerComplexity · 1/5Setup · easy

In one sentence

The official archive of every significant Rust language change proposal, each RFC document records why a feature was added, what alternatives were rejected, and how the community decided.

Mindmap

mindmap
  root((Rust RFCs))
    What it is
      Language change proposals
      Design decisions archive
      Community debate record
    RFC lifecycle
      Write proposal doc
      Community discussion
      Final Comment Period
      Accept or reject
    Who uses it
      Rust contributors
      Language designers
      Curious developers
    What is covered
      New syntax
      Standard library changes
      Feature removals
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Read the original design rationale and tradeoffs behind any Rust language feature by looking up its RFC document.

USE CASE 2

Propose a new Rust language feature by writing an RFC using the provided template and opening a pull request.

USE CASE 3

Track the status of a Rust proposal by reading the discussion and Final Comment Period on its pull request.

USE CASE 4

Understand why a Rust feature works the way it does by studying the accepted RFC that introduced it.

What is it built with?

Markdown

How does it compare?

rust-lang/rfcsethereum/ethereum-org-websitemissing-semester-cn/missing-semester-cn.github.io
Stars6,4875,9267,240
LanguageMarkdownMarkdownMarkdown
Setup difficultyeasymoderateeasy
Complexity1/53/51/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min
License details were not included in the explanation.

So what is it?

This repository is the official place where significant changes to the Rust programming language are proposed, debated, and decided. RFC stands for Request for Comments, and each RFC is a document that describes a proposed change, explains why it is needed, and addresses the tradeoffs and alternatives considered. Not every change to Rust goes through this process. Small bug fixes, documentation improvements, and minor additions can go straight into the codebase through a normal pull request. The RFC process is reserved for changes that affect how the language looks or behaves in meaningful ways, like adding new syntax, removing existing features, or making large additions to the standard library. When someone wants to propose a change, they write a document using a provided template and open a pull request in this repository. The community then discusses the proposal in the pull request comments. Once the discussion matures, the relevant group of maintainers (called a sub-team) can call a Final Comment Period, which is a 10-day window for any last objections before a final decision is made. If accepted, the RFC document is merged into this repository and the feature can then be implemented in Rust itself. Acceptance of an RFC does not guarantee the feature will be implemented quickly, or at all. It means the design has been agreed upon in principle. The RFC author is encouraged to also write the implementation, since approved proposals do not automatically get assigned to a developer. The repository itself is just a collection of Markdown text files, one per proposal, organized by number. There is also a browsable book version of all accepted RFCs linked from the repository homepage.

Copy-paste prompts

Prompt 1
I'm trying to understand why Rust's async/await syntax works the way it does. Find the RFC that introduced it and summarize the key design decisions and rejected alternatives.
Prompt 2
I want to propose adding a new syntax feature to Rust. Show me what sections the RFC template requires and what the sub-team evaluation process looks like.
Prompt 3
Help me understand the Final Comment Period process in the Rust RFC repo, what triggers it, how long it lasts, and what happens if someone raises a concern during FCP.
Prompt 4
I'm comparing how Rust handles a specific problem to another language. Walk me through how to find the RFC that explains the Rust design rationale.
Prompt 5
What is the difference between a change that goes through the RFC process and one that goes straight to a pull request on the main Rust repo? Give me examples of each.

Frequently asked questions

What is rfcs?

The official archive of every significant Rust language change proposal, each RFC document records why a feature was added, what alternatives were rejected, and how the community decided.

What language is rfcs written in?

Mainly Markdown. The stack also includes Markdown.

What license does rfcs use?

License details were not included in the explanation.

How hard is rfcs to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is rfcs for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.