|
| 1 | +# About the compiler team |
| 2 | + |
| 3 | +rustc is maintained by the |
| 4 | +[Rust compiler team](https://www.rust-lang.org/en-US/team.html). The |
| 5 | +people who belong to this team collectively work to track regressions |
| 6 | +and implement new features. Members of the Rust compiler team are |
| 7 | +people who have made significant contributions to rustc and its |
| 8 | +design. |
| 9 | + |
| 10 | +## Rust compiler meeting |
| 11 | + |
| 12 | +The compiler team has a weekly meeting where we do triage and try to generally |
| 13 | +stay on top of new bugs, regressions, and other things. This general plan for |
| 14 | +this meeting can be found in [the rust-compiler-meeting etherpad][etherpad]. It works |
| 15 | +roughly as follows: |
| 16 | + |
| 17 | +- **Review P-high bugs:** P-high bugs are those that are sufficiently important for us |
| 18 | + to actively track progress. P-high bugs should ideally always have an assignee. |
| 19 | +- **Look over new regressions:** we then look for new cases where the |
| 20 | + compiler broke previously working code in the wild. Regressions are |
| 21 | + almost always marked as P-high; the major exception would be bug |
| 22 | + fixes (though even there we often |
| 23 | + [aim to give warnings first][procedure]). |
| 24 | +- **Check I-nominated issues:** These are issues where feedback from the team is desired. |
| 25 | +- **Check for beta nominations:** These are nominations of things to backport to beta. |
| 26 | + |
| 27 | +The meeting currently takes place on Thursdays at 10am Boston time |
| 28 | +(UTC-4 typically, but daylight savings time sometimes makes things |
| 29 | +complicated). |
| 30 | + |
| 31 | +The meeting is held over a "chat medium" -- it used to be IRC, but we |
| 32 | +are currently in the process of evaluating other alternatives. Check |
| 33 | +[the etherpad] to find the current home (and see |
| 34 | +[this internals thread][thread] for some ongoing discussion). |
| 35 | + |
| 36 | +[etherpad]: https://public.etherpad-mozilla.org/p/rust-compiler-meeting |
| 37 | +[thread]: https://internals.rust-lang.org/t/where-should-the-compiler-team-and-perhaps-working-groups-chat/7894 |
| 38 | +[procedure]: https://forge.rust-lang.org/rustc-bug-fix-procedure.html |
| 39 | + |
| 40 | +## Team membership |
| 41 | + |
| 42 | +Membership in the Rust team is typically offered when someone has been |
| 43 | +making significant contributions to the compiler for some |
| 44 | +time. Membership is both a recognition but also an obligation: |
| 45 | +compiler team members are generally expected to help with upkeep as |
| 46 | +well as doing reviews and other work. |
| 47 | + |
| 48 | +If you are interested in becoming a compiler team member, the first |
| 49 | +thing to do is to start fixing some bugs, or get involved in a working |
| 50 | +group. |
| 51 | + |
| 52 | +### r+ rights |
| 53 | + |
| 54 | +Once you have made a number of individual PRs to rustc, we will often |
| 55 | +offer r+ privileges. This means that you have the right to instruct |
| 56 | +"bors" (the robot that manages which PRs get landed into rustc) to |
| 57 | +merge a PR |
| 58 | +([here are some instructions for how to talk to bors][homu-guide]). |
| 59 | + |
| 60 | +[homu-guide]: https://buildbot2.rust-lang.org/homu/ |
| 61 | + |
| 62 | +The guidelines for reviewers are as follows: |
| 63 | + |
| 64 | +- You are always welcome to review any PR, regardless of who it is assigned to. |
| 65 | + However, do not r+ PRs unless: |
| 66 | + - You are confident in that part of the code. |
| 67 | + - You are confident that nobody else wants to review it first. |
| 68 | + - For example, sometimes people will express a desire to review a PR before it lands, |
| 69 | + perhaps because it touches a particularly sensitive part of the code. |
| 70 | +- Always be polite when reviewing: you are a representative of the Rust project, |
| 71 | + so it is expected that you will go above and beyond when it comes to the [Code of Conduct]. |
| 72 | + |
| 73 | +[Code of Conduct]: https://www.rust-lang.org/en-US/conduct.html |
| 74 | + |
| 75 | +### high-five |
| 76 | + |
| 77 | +Once you have r+ rights, you can also be added to the high-five |
| 78 | +rotation. high-five is the bot that assigns incoming PRs to |
| 79 | +reviewers. If you are added, you will be randomly selected to review |
| 80 | +PRs. If you find you are assigned a PR that you don't feel comfortable |
| 81 | +reviewing, you can also leave a comment like `r? @so-and-so` to assign |
| 82 | +to someone else -- if you don't know who to request, just write `r? |
| 83 | +@nikomatsakis for reassignment` and @nikomatsakis will pick someone |
| 84 | +for you. |
| 85 | + |
| 86 | +[hi5]: https://github.com/rust-highfive |
| 87 | + |
| 88 | +Getting on the high-five list is much appreciated as it lowers the |
| 89 | +review burden for all of us! However, if you don't have time to give |
| 90 | +people timely feedback on their PRs, it may be better that you don't |
| 91 | +get on the list. |
| 92 | + |
| 93 | +### Team membership |
| 94 | + |
| 95 | +Full team membership is typically extended once someone made many |
| 96 | +contributions to the Rust compiler over time, ideally (but not |
| 97 | +necessarily) to multiple areas. Sometimes this might be implementing a |
| 98 | +new feature, but it is also important -- perhaps more important! -- to |
| 99 | +have time and willingness to help out with general upkeep such as |
| 100 | +bugfixes, tracking regressions, and other less glamorous work. |
0 commit comments