Welcome to the types team

Scope and purpose

The types team is dedicated to improving the trait system implementation in rustc. This team is a collaboration between the lang team and the compiler team. We have a number of inter-related goals:

  • designing new trait-related language features;
  • documenting and specifying the semantics of traits in Rust today; and,
  • improving the trait solver implementation in rustc.

A big part of this work is transitioning the compiler to use a Chalk-style solver, but along the way we hope to make targeted fixes to the existing solver where needed.

Design meetings

We hold weekly design meetings where we talk in depth about various topics (calendar event). These meetings take place on Zulip (see below). The goal is not just to figure out what we want to do, it's also a way to spread knowledge. Feel free to come and lurk!

You'll find minutes from past meetings in the minutes directory. We also keep have a hackmd where we keep a log of what's been happening and track possible agendas for upcoming meetings.

Chat forum

On the rust-lang Zulip, in the #t-types stream.

Dedicated repository

Documents related to the types team are stored on a dedicated repository, rust-lang/types-team. This repository contains meeting minutes, past sprints, as well as draft RFCs and other documents.

Development roadmap

We maintain a development roadmap that shows both our current efforts, future work we have in mind, and the overall goals we are working towards. Many of the items on that map have links that lead to corresponding issues on the appropriate tracker. Alternatively, if you're just looking for issues to pick up, you can take a look at these issue lists on Github:

We are working from a 6-week "sprint cycle". We're still working out the details of how we organize our sprints. For now, if you'd like to claim one of the above issues or get involved, though, drop by on the rust-lang Zulip in the #t-types stream and say hello!

Minutes from various meetings are located in the minutes directory on the github repository.