|
| 1 | +--- |
| 2 | +layout: post |
| 3 | +title: Re-organising the compiler team and recognising our team members |
| 4 | +author: davidtwco and wesleywiser |
| 5 | +team: the compiler team <https://www.rust-lang.org/governance/teams/compiler> |
| 6 | +--- |
| 7 | +Back in June, the compiler team merged [RFC 3599][rfc] which re-structured the team to ensure the |
| 8 | +team's policies and processes can support the maintenance of the Rust compiler going forward. |
| 9 | + |
| 10 | +Since the last change to the structure of the compiler team, the project has grown a lot - the |
| 11 | +compiler receives roughly twice as many contributions, more team members regularly take on |
| 12 | +additional responsibilities such as performance triage or backport reviews, and many contributors |
| 13 | +are now paid to work on the project. |
| 14 | + |
| 15 | +It is imperative that the compiler team and its procedures are able to scale to meet the demands |
| 16 | +on the project, both to ensure that the compiler team's outputs remain high-quality, but also to |
| 17 | +avoid over-working and burning out our team members. |
| 18 | + |
| 19 | +RFC 3599 aims to recognise all of the ways that team members are currently contributing, to ensure |
| 20 | +that the team's processes remain efficient as the team grows, and to strike a balance between team |
| 21 | +membership enabling work efficiency and team membership being a form of status and recognition. Team |
| 22 | +members who have been contributing for a year or more and want to participate in the maintenance |
| 23 | +activities that keep the team going can choose to be maintainers as well as team members. See [the |
| 24 | +full RFC][rfc] for more detailed motivations. |
| 25 | + |
| 26 | +With RFC 3599 merged, we're now implementing the compiler team's new structure and with this post, |
| 27 | +announcing and recognising the contributions of the compiler team's membership: |
| 28 | + |
| 29 | +[rfc]: https://github.com/rust-lang/rfcs/pull/3599 |
| 30 | + |
| 31 | +- [alexcrichton](https://github.com/alexcrichton), team member |
| 32 | + - alexcrichton has been a prolific contributor since 2013 and has over 2500 merged pull |
| 33 | + requests. Recently they have been working to improve Rust's WASM support for emerging |
| 34 | + standards. |
| 35 | +- [apiraino](https://github.com/apiraino), team member |
| 36 | + - apiraino is an invaluable member of the compiler team, handily tackling the team's |
| 37 | + operational work (agenda preparation, meeting notes, automation, etc) so that the team's work |
| 38 | + progresses smoothly each week. |
| 39 | +- [b-naber](https://github.com/b-naber), team member |
| 40 | + - b-naber has been contributing to the compiler since 2020 and has worked on the compiler's |
| 41 | + constant evaluation, on constant generics and on generic associated types in that time. |
| 42 | +- [bjorn3](https://github.com/bjorn3), team member |
| 43 | + - bjorn3 has been an active contributor to the compiler since 2017, becoming a compiler team |
| 44 | + contributor in 2020. bjorn has been instrumental in the compiler's support for multiple |
| 45 | + codegen backends and is the primary author of the Cranelift codegen backend. |
| 46 | +- [BoxyUwU](https://github.com/BoxyUwU), maintainer |
| 47 | + - BoxyUwU has been contributing relentlessly since 2020, immediately jumping into some of the |
| 48 | + more challenging and technical areas in the compiler. Boxy is a member of the types team and |
| 49 | + has contributed heavily to the implementation and design of constant generics. |
| 50 | +- [camelid](https://github.com/camelid), team member |
| 51 | + - camelid has contributed for many years, improving constant generics, project documentation, and compiler diagnostics |
| 52 | + and making many refactorings and cleanups on the compiler codebase. |
| 53 | +- [chenyukang](https://github.com/chenyukang), maintainer |
| 54 | + - Since 2021, yukang has been tirelessly improving the compiler's diagnostics. It would be hard |
| 55 | + to find a part of the compiler which hasn't had a diagnostic improved by yukang. |
| 56 | +- [cjgillot](https://github.com/cjgillot), maintainer |
| 57 | + - cjgillot is another reliable and consistent contributor who has made countless improvements |
| 58 | + to the compiler since they started contributing, notably to the MIR and its optimisations, |
| 59 | + the query system and the HIR. |
| 60 | +- [compiler-errors](https://github.com/compiler-errors), maintainer |
| 61 | + - compiler-errors is a prolific contributor and prominent member of the types team. They have |
| 62 | + authored numerous improvements to compiler diagnostics, resolved countless ICEs and made |
| 63 | + large refactorings and improvements to the compiler frontend. compiler-errors has worked to |
| 64 | + stabilize many recent features for T-types and WG-async, like async functions in traits. It |
| 65 | + would be difficult to find a contributor who hasn't been helped out or had a patch reviewed by |
| 66 | + compiler-errors. |
| 67 | +- [cuviper](https://github.com/cuviper), team member |
| 68 | + - cuviper regularly contributes to the compiler's build system, driver and LLVM backend, and |
| 69 | + regularly performs backports. |
| 70 | +- [davidtwco](https://github.com/davidtwco), maintainer + team co-lead |
| 71 | + - davidtwco co-leads the compiler team and has been contributing since 2017, making patches to |
| 72 | + various parts of the compiler, contributing to various working groups such as non-lexical |
| 73 | + lifetimes, and implementing features such as the non-exhaustive attribute and split debuginfo. |
| 74 | +- [DianQK](https://github.com/DianQK), team member |
| 75 | + - DianQK has been contributing for over a year and has focused on improving the compiler's MIR |
| 76 | + optimisations and fixing and improving our use of LLVM. |
| 77 | +- [durin42](https://github.com/durin42), team member |
| 78 | + - durin42 has been a strong contributor to the compiler's LLVM backend, debuginfo and general |
| 79 | + code generation infrastructure since they started contributing in 2021. |
| 80 | +- [eholk](https://github.com/eholk), team member + council representative |
| 81 | + - eholk is active in the compiler team and async working group, contributing to the design and |
| 82 | + implementation of the proposed *dyn\** types, *generator functions* and *for await* loops. |
| 83 | + Eric also represents the compiler team in the project's leadership council. |
| 84 | +- [est31](https://github.com/est31), team member |
| 85 | + - est31 has been a frequent contributor for almost eight years, making lots of helpful fixes |
| 86 | + and refactorings throughout the compiler. est31 can often be found providing helpful reviews |
| 87 | + and suggestions to Rust's open PRs. |
| 88 | +- [estebank](https://github.com/estebank), maintainer |
| 89 | + - estebank is almost synonymous with better compiler diagnostics - over eight years and a |
| 90 | + thousand pull requests later, it would be hard to find a Rust user who hasn't seen a |
| 91 | + diagnostic improved by estebank. |
| 92 | +- [fee1-dead](https://github.com/fee1-dead), maintainer |
| 93 | + - fee1-dead has made many impactful contributions since starting to contribute in 2021, |
| 94 | + including C string literals, keyword generic/effect experiments, const trait design & |
| 95 | + implementation and many bug fixes and diagnostic improvements. |
| 96 | +- [flodiebold](https://github.com/flodiebold), team member |
| 97 | + - flodiebold is a long-time prolific contributor to rust-analyzer, making over 300 pull |
| 98 | + requests since starting to contribute to the language server in 2018. |
| 99 | +- [fmease](https://github.com/fmease), team member |
| 100 | + - fmease has been contributing since 2022, making various improvements to the compiler to |
| 101 | + support rustdoc, as well as refactorings, bug fixes and diagnostic improvements. |
| 102 | +- [jackh726](https://github.com/jackh726), maintainer |
| 103 | + - jackh726 co-leads the types team and has made numerous improvements to the implementation of |
| 104 | + the type system, most notably enabling the stabilization of generic associated types. |
| 105 | +- [jieyouxu](https://github.com/jieyouxu), team member |
| 106 | + - jieyouxu does invaluable work in helping maintain bootstrap, compiletest and the new |
| 107 | + `run_make_support` library for `run-make` tests, as well as fixing ICEs and improving |
| 108 | + diagnostics. |
| 109 | +- [jswrenn](https://github.com/jswrenn), team member |
| 110 | + - jswrenn has been a stalwart member of the safe transmute project group for years and has |
| 111 | + made various contributions implementing the fruits of the group's efforts. |
| 112 | +- [lcnr](https://github.com/lcnr), maintainer |
| 113 | + - lcnr co-leads the types team and is one of the team's foremost experts on the language's |
| 114 | + type system and the compiler's implementation of it. lcnr's recent work has been focused on |
| 115 | + implementing and stabilizing the compiler's next-generation trait solver. |
| 116 | +- [lqd](https://github.com/lqd), maintainer |
| 117 | + - lqd started out in the non-lexical lifetimes working group back in 2018 and has been part |
| 118 | + of the fabric of the project since. Compiler performance has seen significant improvements |
| 119 | + thanks to lqd's work on enabling LTO for the compiler and supporting lld. lqd is currently |
| 120 | + leading work on Polonius, the next generation of Rust's borrow checker. |
| 121 | +- [lukas-code](https://github.com/lukas-code), team member |
| 122 | + - lukas-code has been contributing regularly since 2022, making improvements and fixing bugs |
| 123 | + throughout the compiler's codebase. |
| 124 | +- [Mark-Simulacrum](https://github.com/Mark-Simulacrum), maintainer |
| 125 | + - Mark-Simulacrum has been working on the Rust project for almost a decade and frequently |
| 126 | + contributes to the team through backports, reverts and patches throughout the codebase. For |
| 127 | + many years, they have helped maintain critical compiler infrastructure such as bootstrap and |
| 128 | + the compiler test harness. |
| 129 | +- [matthewjasper](https://github.com/matthewjasper), maintainer |
| 130 | + - matthewjasper has been contributing since 2017 and was a key contributor to the non-lexical |
| 131 | + lifetimes working group. They have since made significant improvements to the MIR, progress |
| 132 | + on specialization and stabilizing the THIR unsafeck. |
| 133 | +- [Nadrieril](https://github.com/Nadrieril), maintainer |
| 134 | + - Nadrieril is the compiler team's expert on exhaustiveness checking, pattern analysis and |
| 135 | + match lowering, their significant refactoring and improvement work have enabled progress on |
| 136 | + previously blocked features such as slice patterns, or-patterns, exhaustive patterns and |
| 137 | + deref patterns. |
| 138 | +- [nagisa](https://github.com/nagisa), team member |
| 139 | + - nagisa has been a compiler team member for many years, with their initial work on Rust |
| 140 | + dating back to 2014. nagisa improves the compiler's LLVM backend and everything to do with |
| 141 | + our MIR, codegen, debuginfo and the compiler backends in general. |
| 142 | +- [nikic](https://github.com/nikic), team member |
| 143 | + - nikic is the team's LLVM expert and helps ensure the compiler is keeping pace with changes |
| 144 | + in LLVM upstream. nikic is also the lead maintainer of LLVM and has made many improvements |
| 145 | + in LLVM to better support Rust. |
| 146 | +- [nikomatsakis](https://github.com/nikomatsakis), team member |
| 147 | + - nikomatsakis needs no introduction, as one of the original members of the Rust project and |
| 148 | + former lead of the compiler team. nikomatsakis has worked on crucial parts of the compiler |
| 149 | + since their initial implementation. |
| 150 | +- [Noratrieb](https://github.com/Noratrieb), maintainer |
| 151 | + - Noratrieb has been a staple of the contributor community since they started in 2021, |
| 152 | + working on a swathe of refactorings, bug fixes, features and improvements throughout the |
| 153 | + compiler. Prolific contributors like Nora have an outsized impact across the codebase. Nora |
| 154 | + can often be found answering questions and helping other contributors on Zulip! |
| 155 | +- [nnethercote](https://github.com/nnethercote), maintainer |
| 156 | + - nnethercote has been working on compiler performance since 2016, including the benchmarking |
| 157 | + and profiling infrastructure. He has also cleaned up a lot of old crufty code across many |
| 158 | + parts of the compiler. |
| 159 | +- [oli-obk](https://github.com/oli-obk), maintainer |
| 160 | + - oli-obk is a long-time compiler team member whose prolific contribution history is a |
| 161 | + challenge to summarize, but include constant evaluation, constant generics, pattern types, |
| 162 | + MIR optimisations, diagnostics, clippy improvements, and existential types. |
| 163 | +- [petrochenkov](https://github.com/petrochenkov), maintainer |
| 164 | + - petrochenkov is another long-time compiler team member who primarily maintains the compiler's |
| 165 | + name resolution and macro expansion, notoriously tricky and nuanced subsystems of the |
| 166 | + compiler. |
| 167 | +- [pnkfelix](https://github.com/pnkfelix), maintainer |
| 168 | + - Former compiler team co-lead, pnkfelix is yet another long-time team member has made |
| 169 | + contributions throughout the compiler and made significant contributions to the borrow |
| 170 | + checker, early MIR, and early compiler architecture. |
| 171 | +- [RalfJung](https://github.com/ralfjung), team member |
| 172 | + - Known for his work on Miri and Stacked Borrows, an operational semantics for memory accesses |
| 173 | + in the language, RalfJ is the team's foremost expert on the operational semantics of the |
| 174 | + language and also deeply involved in const evaluation. He has been working on achieving sound |
| 175 | + semantics down to lowest levels of the compiler. |
| 176 | +- [saethlin](https://github.com/saethlin), maintainer |
| 177 | + - saethlin has made significant improvements to MIR, Miri, and codegen in their contributions |
| 178 | + since starting in 2021 and has become an invaluable source of knowledge on the language's |
| 179 | + operational semantics/unsafe code guidelines. |
| 180 | +- [scottmcm](https://github.com/scottmcm), team member |
| 181 | + - scottmcm is a member of the language team who also regularly implements improvements in the |
| 182 | + compiler, particularly in the MIR and compiler's codegen, always trying to get to the perfect |
| 183 | + machine code. |
| 184 | +- [SparrowLii](https://github.com/sparrowlii), maintainer |
| 185 | + - SparrowLii is a relatively new member of the team who has resurrected and led the effort to |
| 186 | + parallelize the compiler and has been responsible for the great strides that effort has made |
| 187 | + alongside members of the parallel rustc and compiler performance working groups. |
| 188 | +- [spastorino](https://github.com/spastorino), maintainer |
| 189 | + - spastorino is another alum of the non-lexical lifetimes working group, starting to contribute |
| 190 | + in late 2017. Since NLL, spastorino has implemented negative impls in coherence, refactored |
| 191 | + return position impl trait in trait code to lower as a GAT, and has done a lot of refactors/bugfixes |
| 192 | + to the compiler. |
| 193 | +- [TaKO8Ki](https://github.com/TaKO8Ki), team member |
| 194 | + - TaKO8Ki has made lots of diagnostic improvements, helped the team keep on top of regressions |
| 195 | + by adding plenty of regression tests, done lots of refactorings and cleanup, fixed a bunch of |
| 196 | + ICEs in their time contributing. |
| 197 | +- [tgross35](https://github.com/tgross35), team member |
| 198 | + - tgross35 has been contributing for two years and has been leading the implementation of the |
| 199 | + new `f16` and `f128` types. |
| 200 | +- [the8472](https://github.com/the8472), team member |
| 201 | + - the8472 has been a contributor since 2020 and has helped to improve the quality of code |
| 202 | + generated by the compiler via changes to the Rust standard library. |
| 203 | +- [tmandry](https://github.com/tmandry), team member |
| 204 | + - tmandry has been leading the async working group since its inception and has made remarkable |
| 205 | + contributions to pushing forward the async support in the compiler. |
| 206 | +- [tmiasko](https://github.com/tmiasko), team member |
| 207 | + - tmiasko has been contributing for almost four years and has reliably completed invaluable |
| 208 | + work on the compiler's MIR representation, optimisations and LLVM code generation, becoming |
| 209 | + one of the team's experts in these areas. |
| 210 | +- [Urgau](https://github.com/Urgau), team member |
| 211 | + - Urgau has worked on a wide variety of improvements in their time contributing, from |
| 212 | + `check-cfg` to range patterns, `black_box` to lints, and much more. |
| 213 | +- [WaffleLapkin](https://github.com/WaffleLapkin), team member |
| 214 | + - WaffleLapkin has been another staple of the contributor community since 2020, doing a |
| 215 | + variety of essential refactors, bug fixes and performance improvements. Like Nora above, |
| 216 | + Waffle is a prolific contributor whose improvements across the compiler have a major impact. |
| 217 | +- [wesleywiser](https://github.com/wesleywiser), maintainer + team co-lead |
| 218 | + - wesleywiser is co-lead of the compiler team and has been contributing since 2015 while |
| 219 | + working on various parts of the compiler including self-profiling, incremental compilation, |
| 220 | + MIR optimizations and Windows & Linux debugging support. |
| 221 | +- [Zalathar](https://github.com/Zalathar), team member |
| 222 | + - Zalathar has been contributing for a little over a year and has had a massive impact, |
| 223 | + working on significant and widespread refactorings to the compiler's support for code |
| 224 | + coverage instrumentation. |
| 225 | + |
| 226 | +There are also some team members choosing to become alumni who have made valuable contributions |
| 227 | +during their time as team members: |
| 228 | + |
| 229 | +- [Aaron1011](https://github.com/Aaron1011) |
| 230 | + - Aaron1011 contributed widely since 2017, touching basically every part of the compiler, |
| 231 | + fixing bugs, making improvements and doing important refactorings wherever they went. |
| 232 | +- [eddyb](https://github.com/eddyb) |
| 233 | + - eddyb is a prolific and incredibly knowledgable member of the compiler team who has made |
| 234 | + widespread improvements throughout the compiler for many years. Much of their work has |
| 235 | + focused on the LLVM backend, the initial implementation and improvements to MIR, the v0 Rust |
| 236 | + name mangling scheme, and a huge number of bug fixes and architectural improvements to the |
| 237 | + compiler. |
| 238 | +- [michaelwoerister](https://github.com/michaelwoerister) |
| 239 | + - Another long-time compiler team member, michaelwoerister has been responsible for huge |
| 240 | + improvements and progress in the project's debuginfo, codegen, incremental compilation, LTO |
| 241 | + and PGO, going back to 2013. |
| 242 | + |
| 243 | +Thank you to our past, current and future compiler team members and maintainers! |
0 commit comments