The impl period
It’s worth repeating that this effort is intended for people with all experience levels and interests — there really is something for everyone, and the WG leads are putting a ton of work into mentoring. So if you’ve ever thought it might be fun to contribute to the language or any of its surrounding infrastructure: now’s the time. If you’re not sure what working group is right for you, drop by the main chatroom and introduce yourself, and we’ll help you find your way!
Recap from week 1
In our first week, we saw an steadily-increasing amount of activity on both Gitter and the relevant repos. Fortunately, folks seem to be attracted to working groups in a relatively balanced fashion: no group has gotten totally overwhelmed with volunteers, and most groups have had at least some activity.
We’ve seen by far the most activity around the compiler working groups; it’s already getting hard to keep the pipeline of unassigned issues full! Probably the single biggest piece of news is that tschottdorf has a PR with a near-complete implementation of improved
match ergonomics. Way to go!
A few people had some issues with Dropbox Paper, a collaboration tool many of the subteams have used in the past. Please let me (@aturon) know if you are having ongoing issues here, or problems with Gitter.
Groups that need some love
Late in the week, we launched another working group, led by @QuietMisdreavus: WG-docs-checklist, a group dedicated to completing areas of the standard library that aren’t yet up to our documentation standards. Come help us make
std docs shine!
Beyond that, there were a few groups that didn’t see much attention last week, and would love to see some volunteers:
- WG-libs-openssl, a group working to drastically improve the docs of one of the most important dependencies in the Rust ecosystem.
- WG-libs-simd, a group building the components needed for using SIMD (vector instructions) on stable Rust. If you want to see Rust utterly dominate the benchmarks game – or you just want Rust’s access to hardware to be more complete – this is the group for you.
- WG-docs-rustdoc, a group working to improve today’s rustdoc, making the documentation experience better across the board.
- WG-dev-tools-IntelliJ, a group working to improve the already amazing IntelliJ Rust plugin.
- WG-cargo-native, a group building a declarative story for specifying native (e.g. C) dependencies for Rust crates. Critical for Rust interoperability!
- WG-infra-perf, a group improving our compiler performance tracking, and thus helping accomplish one of our most critical goals this year.
- WG-infra-crater, a group working to make Crater (our ecosystem testing tool) more reliable, more parallel, and more accessible. Rust core developers depend on Crater on a weekly basis, but it remains very arcane to use.
Jump on in!
To close out, here is a (partial!) list of shoutouts to folks participating in the impl period so far. It doesn’t have all the working groups yet, but leads are encouraged to follow up in the comments!
It’s hard to keep track and coordinate across 35 working groups, so if something is missing, or if you’ve been involved and aren’t on the list — please mention that in the comments!
- @alilleybrinker for developing a list of resources we should try to surface
- @madmalik for some excellent feedback on the early sketch
- @crlf0710 for ongoing work on one of the hardest guidelines — trait naming
- @mgeisler for all the help with build issues and speeding up our Travis build by a factor of 4
- @gnzlbg for lots of work adding intrinsics and participating on the issue tracker.
- @alexcrichton for adding an amazing test harness for SIMD codegen tests.
- @jaroslaw-weber put together some ideas for a visual refresh.
- @tirr-c improved the error message when the argument types of a closure don’t match what is expected
- @thombles improved the diagnostics when using a tuple-like data type with a record-like pattern (or vice versa)
- @tschottdorf opened a PR implementing (most of) default binding modes in match
@toidiu opened an initial PR doing a small refactoring towards inferring
- @KiChjan and @zilbuz have collectively added ports for almost all the Note diagnostics from AST-borrowck to MIR-borrowck
- @mikhail-m1 is working on the remaining Note diagnostic from AST-borrowck
- sunjay opened a PR doing some refactoring towards Generic Associated Types
@pepyakin enabled emitting
derive(Ord)when possible, among other clean ups related to our
@alexeyzab added the ability to specify that certain types are not
PartialEqdespite what we infer is
@aelos fixed a bug where we mis-inferred traits were
deriveable for large bitfield allocation units
@AndrewGasper fixed a bug where we were emitting invalid Rust code when seeing
_used as a non-top-level identifier
@e00E created some initial infrastructure and driver scripts for fuzzing
- @voteblake dove right in and started building a threat model, as well as getting a handle on the infrastructure situation over all.