惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 叶小钗
J
Java Code Geeks
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
阮一峰的网络日志
阮一峰的网络日志
爱范儿
爱范儿
量子位
N
Netflix TechBlog - Medium
博客园 - 聂微东
博客园 - Franky
aimingoo的专栏
aimingoo的专栏
The Cloudflare Blog
T
The Blog of Author Tim Ferriss
MyScale Blog
MyScale Blog
Google DeepMind News
Google DeepMind News
小众软件
小众软件
博客园 - 三生石上(FineUI控件)
C
Check Point Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
B
Blog
Engineering at Meta
Engineering at Meta
Microsoft Azure Blog
Microsoft Azure Blog
博客园_首页
H
Hackread – Cybersecurity News, Data Breaches, AI and More
腾讯CDC

Rust Blog

Security Advisory for Cargo (CVE-2026-5223) | Rust Blog Security Advisory for Cargo (CVE-2026-5222) | Rust Blog Project goals update — April 2026 (end of 2025H2) | Rust Blog Rust is participating in Outreachy | Rust Blog Raising the baseline for the `nvptx64-nvidia-cuda` target | Rust Blog Announcing Google Summer of Code 2026 selected projects | Rust Blog Announcing Rust 1.95.0 | Rust Blog docs.rs: building fewer targets by default | Rust Blog Changes to WebAssembly targets and handling undefined symbols | Rust Blog Announcing Rust 1.94.1 | Rust Blog Security advisory for Cargo | Rust Blog What we heard about Rust's challenges | Rust Blog Call for Testing: Build Dir Layout v2 | Rust Blog Announcing rustup 1.29.0 | Rust Blog Announcing Rust 1.94.0 | Rust Blog 2025 State of Rust Survey Results | Rust Blog Rust debugging survey 2026 | Rust Blog Update on the October 15, 2018 incident on crates.io Announcing Rust 1.29.2 Announcing Rust 1.29 Announcing Rust 1.28 What is Rust 2018? Announcing Rust 1.27.2 Announcing Rust 1.27.1 Security Advisory for rustdoc Announcing Rust 1.27 Announcing Rust 1.26.2 Announcing Rust 1.26.1 Rust turns three Announcing Rust 1.26
An Update from WG-Learning | Inside Rust Blog
mark-i-m on behalf of the Rustc Dev Guide Working Group · 2019-12-20 · via Rust Blog

An update from WG-Learning

In our last post in October we gave an overview what the Learning WG is and what we are doing. We have made a lot of progress since that post, and we have also held a meeting to decide what to work on next. So let's dig in...

Work completed

We mentioned before that we are in the process of producing rustc-dev-guide chapters from the "Compiler Lecture Series" videos. The goal is to try to produce guide chapters that are approachable for beginners and give a good foundation for exploring and hacking on the compiler.

Recently, we merge a chapter on salsa by @Karrq. salsa is a crate that makes incremental computation easier. While it is not used in rustc itself, it is heavily inspired by it, and it is used by rust-analyzer.

We also collectively have been working on a chapter about ty::Ty and the way that rustc represents types internally. You can find that PR here. This has been a big effort for a few months now, and we are excited to have this new chapter in the guide.

What's next?

We just had a planning meeting to discuss what to work on next. The guide has some long-standing holes and shortcomings that we would like to address.

Specifically, the Learning WG decided that we wanted to pursue the following goals next:

  • Write an overview chapter
  • Gather source material for chapters on monomorphization and LLVM

Overview chapter

One of the challenges with big software systems is understanding how everything fits together. We have seen this problem come up with the rustc-dev-guide; the chapters tunnel down into a single part of the compiler, but it is hard to get a good view of all the things that happen to a piece of code between lexing and linking.

We want to remedy this problem by creating an Overview chapter that walks through some example from the beginning of the compiler to the end of the compiler at a high level. We plan to put this chapter at the beginning of (part 2 of) the guide, so that it guide readers as to what part of the compilation they are reading about in the subsequent chapters.

Monomorphization, Codegen, LLVM

One of the biggest gaps in the guide currently is what happens to your code after the MIR is produced. We have chapters on almost everything that happens before that (though many of them are pretty slim), but we have almost nothing after the MIR is produced, borrow checked, and optimized.

In particular, after the MIR is optimized, we need to monomorphize it, produce LLVM IR from it, call LLVM to produce executable code, and then link everything to form a final binary object.

The Learning WG will work on collecting information to write chapters on these topics.

Getting involved

Did any of this sound interesting to you? We would love for you to join us! You can the Learning WG on the t-compiler/wg-rustc-dev-guide stream on Zulip. Feel free to stop by and ping us.