The impl period
Two weeks ago, the “impl period” formally launched, and now has 37 working groups, with more to come! There’s a global Gitter channel (with IRC bridge), and dedicated channels for each working group.
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. 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!
Highlights
We’ve had a steady stream of people joining up and finding their way to the various channels; welcome all! At this point most of the working groups are seeing sustained activity, especially around the compiler and libs work. The bindgen group has resulted in a new reviewer! And some early work is under way setting up policy for an expanded cookbook effort.
We also had our first impl days at RustFest; see below for more details!
Where help is most needed
- WG-cargo-native
- WG-infra-crater (Gitter channel is very lonely
️)
- WG-infra-perf
Shoutouts
Projects acrichto saw during rustfest
- @japaric worked on fixing embedded compilation on nightly, realized that codegen units broke it
- @jamesmunns worked on adding adding atomics to the armv5te target
- @oli-obk worked on integrating miri into rustc for const evaluation
- @alexcrichton (and many others!) built a Death Star
- @dpc worked on adding support for separating the namespace of optional dependencies and features in Cargo
- @cswindle worked on alternate registry support in Cargo
-
@dns2utf8 worked on
thread::set_name
and how to rationalize it withThread::name
-
@SimonSapin worked on making
cargo publish
produce a deterministic manifest - @fgilcher worked on reading crates.io changes through libgit2 to get a history of commits
- @JoshTriplett and @alexcrichton figured out a reasonable path forward for proposing an RFC for “cargo metabuild”
WG-libs-openssl
- @AndyGauge has written some excellent documentation for the aes and asn modules along with the BigNum type
- @ejmg has written some great the dh module
- @johnthagen has gone gangbusters documenting the nid module, the [memcmp](https://github.com/sfackler/rust-openssl/pull/740` module, improving the README for Windows, documenting the rand module, and tidying up some docs
WG-libs-simd
- @AdamNiederer helped bind more AVX intrinsics as well as add tests for existing ones
- @BurntSushi refactored the library to make all intrinsics unsafe (as specified in the RFC)
- @gnzlbg helped fix up some tests for ARM intrinsics
- @p32blo helped add a number of AVX intrinsics as well explore some bugs in intrinsics as well
- @dlrobertson added bindings for more SSE4.2 string intrinsics
-
@pythoneer joined the fun of adding intrinsics by binding
_mm_cvtpd_epi32
- @gwenn helped bind more ssse3 intrinsics and explore existing bugs in SIMD intrinsics
WG-dev-tools-bindgen
- @clippered expanded our C-Reduce driver to test deriving all the traits we support deriving: https://github.com/rust-lang-nursery/rust-bindgen/pull/1043
- @fitzgen fixed a bug where bindings to nested classes were being emitted with duplicate names: https://github.com/rust-lang-nursery/rust-bindgen/pull/1049
- @emilio fixed a bug with the representation of enums: https://github.com/rust-lang-nursery/rust-bindgen/pull/1030
-
@harlanhaskins enabled running
rustfmt
on the emitted bindings by default: https://github.com/rust-lang-nursery/rust-bindgen/pull/1022 -
@pepyakin has been contributing lots, helping newcomers learn the code base, and showing great interest in the project since joining us for the
impl period
. Therefore, we’ve invited him to be abindgen
reviewer, and you can now sayr? @pepyakin
on all your new pull requestsCongratulations!
- @aelos fixed bindgen’s output for bitfields that are larger than their type’s bit width, which was producing structs of the wrong size/align: https://github.com/rust-lang-nursery/rust-bindgen/pull/1059 and https://github.com/rust-lang-nursery/rust-bindgen/pull/1060
WG-compiler-error
- @zackmdavis added new in-place suggestions that can be applied by RLS to some lints https://github.com/rust-lang/rust/pull/44942
- @zilbuz added notes to MIR-borrowck https://github.com/rust-lang/rust/pull/44811
- @zilbuz fixed MIR-borrowck’s diagnostics to print field names of structs https://github.com/rust-lang/rust/pull/44985
- @tirr-c fixed closure argument mismatch error message https://github.com/rust-lang/rust/pull/44735
- @thombles improved diagnostics on incorrect variant usage https://github.com/rust-lang/rust/pull/44786
- @zackmdavis improved output of multiple non-ADT derive errors https://github.com/rust-lang/rust/pull/44055
WG-libs-cookbook
- @V1shvesh Add num_cpus example
- @mykalu Add “Parse and increment a version string” example
- @sb89 Added “Check webpage for broken links” example
- @jaemk Add build tools section & basic cc example
- @ericho Use a threadpool to calculate SHA1 in all *.iso files in a folder.
-
@phaiax started working on search for mdbook
with help from @olivernn and @mattico:tada:
- @jaroslaw-weber is iterating on the ui redesing ideas
WG-libs-blitz
Generated using budziq’s pulls since crate.
https://api.github.com/repos/BurntSushi/walkdir/pulls?state=closed
https://api.github.com/repos/rust-lang-nursery/log/pulls?state=closed
- @sfackler Restructure initialization setup
- @sfackler Use a &'static Log rather than raw pointer
- @sfackler Update shim for 0.4 changes
- @sfackler Don’t force module_path and file strings to be static
- @KodrAus Remove env_logger crate
-
@mjkillough Allow
#[macro_use(info)]
to import individual macros. - @tailhook [env_logger] Adds a newline to format string before writing
- @alisha17 Rename set_logger_raw to try_set_logger_raw
- @jethrogb Enable use of Logger as a filter
- @stepancheg env_logger::init_or_default(“mylib=warn”)
https://api.github.com/repos/BurntSushi/same-file/pulls?state=closed
- @gurgalex Small typo fixes
https://api.github.com/repos/nikomatsakis/rayon/pulls?state=closed
- @tmccombs Add metadata to Cargo.toml
- @tmccombs Transition from deprecated Unpark to Notify
- @laumann Implement interleave_shortest()
- @smt923 Add html_root_url for core and futures, with a reminder in Cargo.toml
- @cuviper Tighten Send and Sync requirements
-
@tmccombs Implement
Debug
for public types -
@tmccombs Add
build
method toConfiguration
. - @AndyGauge Add Crate level documentation and Cargo attributes
- @jdr023 Fix example and add missing attribute to crate
- @cuviper Extract rayon-futures as a separate crate
- @gsquire Demo cleanup
-
@dns2utf8 Raise the min version requirement because of the
?
operator - @dns2utf8 Add a examples to the module docs
- @dtolnay Remove stray lifetime on IndexedParallelIterator::drive
- @dtolnay Clarify signatures of sum and product
- @laumann Implement interleave()
-
@vishalsodani document the
Scope
struct - @frewsxcv A couple docs related fixes.
- @chrisvittal Add zip_eq adapter to IndexedParallelIterator (ZipEq struct version)
-
@hodgesds Use
thread-id
in thief_id call - @nikomatsakis introduce internal API and rebase future support to use it
- @cuviper Document a little about how join blocks
- @ChristopherDavenport Add Repeat
- @nikomatsakis Introduce atomic closures implemented using flat-combining
https://api.github.com/repos/carllerche/mio/pulls?state=closed
- @asomers Mention FreeBSD support in the README
- @floriama Fix typos in documentation for Poll
- @alexcrichton Add TcpListener::accept_std
- @alexcrichton Ensure errors on TCP writes happen on Windows
https://api.github.com/repos/servo/rust-url/pulls?state=closed
-
@frewsxcv Derive
Copy
for some structures. - @copyninja Fix typo in parse.rs s/authentification/authentication/
https://api.github.com/repos/sebasmagri/env_logger/pulls?state=closed
https://api.github.com/repos/rust-lang-nursery/lazy-static.rs/pulls?state=closed
- @jedisct1 Enable the const_unsafe_cell_new feature flag for nightly
- @alekratz Update to support Rust 1.18 visibility restrictions (see #80)
- @ucarion Fix link to docs in README
- @tmccombs Add categories to Cargo.toml
- @opilar OSX and Windows CI
https://api.github.com/repos/seanmonstar/reqwest/pulls?state=closed
- @chrisvittal Add into_body to async_impl::response::Response
- @kamalmarhubi async: Add conversions from static slices to Body
- @hoodie fix doc link to RequestBuilder
- @hinaria consider exposing error kinds
WG-compiler-incr
- The red/green change tracking system, which constitutes the new and improved backbone of incremental compilation, has landed!
- @vitiral is making great progress on streamlining the incremental compilation testing framework: https://github.com/rust-lang/rust/issues/45009
- @wesleywiser is working diligently towards making translation time trait selection a query: https://github.com/rust-lang/rust/pull/44967
- @theotherjimmy is bravely fighting the yet to be polished query definition macros in order to turn get_vtable_methods into a query
- @Mark-Simulacrum helped @michaelwoerister with getting some benchmarks of different hash algorithms for computing the various hash values that incr. comp. is using throughout: https://github.com/rust-lang/rust/issues/41215#issuecomment-334408968