What is this?

Ever wanted to understand how rustc works? This club is for you! Inspired by the very cool Code Reading Club, the idea is to get together every few weeks and just spend some time reading the code in rustc or other related projects.

The way this club works is pretty simple: every other week, we'll get together for 90 minutes and read some part of rustc (or some project related to rustc), and talk about it. Our goal is to walk away with a high-level understanding of how that code works. For more complex parts of the code, we may wind up spending multiple sessions on the same code.

We'll be following a "semi-structured" reading process:

  • Identify the modules in the code and their purpose.
  • Look at the type definitions and try to describe their high-level purpose.
  • Identify the most important functions and their purpose.
  • Dig into how a few of those functions are actually implemented.

The meetings will not be recorded, but they will be open to anyone. The first meeting of the Rustc Reading Club will be November 4th, 2021 at 12:00pm US Eastern time. Hope to see you there!

Meetings

This page has information about the code we will be reading in each meeting along with other useful links. If you'd like to attend a meeting, check out the How to Attend page!

How to attend

Reading sessions are planned for the 1st and 3rd Thursdays of each month. Click the link to copy the Google calendar for Reading sessions. Each calendar entry contains the Zoom link.

Calendar for Reading sessions

2021-11-04

Additional Resources

Should you decide to dive deeper, the following may help you gain more context on how the resolver works and how it fits in the bigger picture.

Links and Resources

Frequently asked questions (FAQ)

Who organizes the Rustc Reading Club?

doc-jones and nikomatsakis.

Why not record?

Important that people feel able to ask whatever question they want without that being posted.

This is not the kind of event you want to watch anyway, trust me, it's not going to be a coherent presentation.

What level of experience should I have to attend?

You should be reasonably familiar with Rust syntax. You don't have to be an expert on every corner of the language (although learning about the compiler can definitely help to make you an expert).

Familiarity with compiler concepts is helpful but not required. Experience with rustc is of course also helpful but not required. Feel free to ask questions if people are using compiler or rustc jargon that you don't understand!

That said, we do want to say something up front: if you're not familiar with rustc already, you will definitely have a "jumping into the deep end of the pool" feeling. That's ok -- and guess what, even the people who are familiar with rustc will feel that from time to time. Stick it out, ask questions, and you should learn a lot.

I don't understand how rustc works, should I be scared to attend?

No, you should not. The whole point of this club is for all of us to learn how rustc works together!

I've never written any kind of compiler before. Should I be scared to attend?

No. A compiler is just a program. If you've written programs before, you are definitely welcome to attend. Feel free to ask questions, too.

"Is it ok if I just show up and listen?"

Yes, definitely, you will learn a lot, but be aware it's not going to be a coherent presentation with slides.

Are there ways for me to get good background knowledge about rustc before I attend?

Yes! Check out the Rustc Dev Guide.

I'm learning so much! Are there ways for me to give back and help others?

Yes! File PRs to extend the Rustc Dev Guide.

I have some ideas for code to read!

Great! File an issue on our repository.

I want to help organize! Can I help?

So excited! Ping us on Zulip.

Code of conduct

Rust code of conduct

All participants in the Rust Code Reading Club are expected to observe the Rust code of conduct.

We are committed to providing a friendly, safe and welcoming environment for all, regardless of level of experience, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, nationality, or other similar characteristic.

Please avoid using overtly sexual aliases or other nicknames that might detract from a friendly, safe and welcoming environment for all.

Please be kind and courteous. There’s no need to be mean or rude.

Respect that people have differences of opinion and that every design or implementation choice carries a trade-off and numerous costs. There is seldom a right answer.

Please keep unstructured critique to a minimum. If you have solid ideas you want to experiment with, make a fork and see how it works.

We will exclude you from interaction if you insult, demean or harass anyone. That is not welcome behavior. We interpret the term “harassment” as including the definition in the Citizen Code of Conduct; if you have any lack of clarity about what might be included in that concept, please read their definition. In particular, we don’t tolerate behavior that excludes people in socially marginalized groups.

Private harassment is also unacceptable. No matter who you are, if you feel you have been or are being harassed or made uncomfortable by a community member, please contact the Reading Club organizers immediately. Whether you’re a regular contributor or a newcomer, we care about making this community a safe place for you and we’ve got your back.

Likewise any spamming, trolling, flaming, baiting or other attention-stealing behavior is not welcome.

Rust Code Reading Club Rules for participation

Please observe the club rules for participation.
Moderation contact Please contact the Reading Club organizers.