The final impl period newsletter


#1

The impl period

This is it! The impl period has drawn to a close. We’ve come together as a community to do a truly epic amount of work in three months time.

If you were involved in the impl period, either as a WG lead or a contributor, please consider blogging about your experience. The program has been such a success in both mentoring and overall productivity that we will almost certainly want to do something similar in the future — so your feedback is very valuable, and talking about your experiences can help give others confidence that they can take on hard problems with the Rust community’s help.

Highlights

  • There’s now a tracking issue showing the status of most major language changes slated for the next epoch.
  • A new release candidate for log 0.4 was released!
  • lazy_static 1.0 was released!
  • Non-lexical lifetimes: two-phase-borrows landed; PR #46862 wraps everything up into a #![feature(nll)] and will hopefully land soon. See https://github.com/rust-lang/rust/milestone/42

Shoutouts

WG-compiler-nll

  • NLL support is approaching “code complete”. Once PR #46862 lands, we will have support for #![feature(nll)] which can be used to start experimenting.
  • @pnkfelix landed support for “two-phase borrows”, which enable nested method calls like self.push(self.len())
  • @davidtwco landed improved error message support
  • @yoric has a pending PR that improves support for &mut reference variables that are overwritten (e.g., when iterating down a linked list)
  • @mikhael-m1 continues to work on improving support for slice patterns
  • @arielb1 did a large amount of cleanup and consolidation, as well as fixing some critical bugs

WG-compiler-middle

  • @cramertj has made numerous improvements to impl Trait, closing a number of critical ICEs. We are aiming to achieve the “stabilization ready” subset quite soon.
  • @sunjay pushed further on generic associated types, implementing name and lifetime resolution.
  • @gaurikholkar landed a PR with partial support for one of the lints in the in-band lifetimes proposal.
  • @mikeyhew continues to push on support for methods with arbitrary self types

WG-compiler-front

WG-compiler-errors

  • @zackmdavis improved diagnostics around .. within struct literals
  • @estebank improved a number of spans and suggestions around error messages

libz blitz

Covers 25.11.2017 - 17.12.2017.

alexcrichton/flate2-rs

carllerche/mio

nikomatsakis/rayon

rust-lang-nursery/lazy-static.rs

rust-lang-nursery/log

sebasmagri/env_logger

steveklabnik/semver

steveklabnik/semver-parser

Incremental Compilation

Crater

Covers 25.11.2017 - 17.12.2017.

  • @alanhdu dragged crater to the present day by upgrading all dependencies in this PR.
  • @SimonSapin made a step towards getting crater doing tests of Servo by updating the list of Rust GitHub repositories crater knows about. Repositories created in the last quarter that aren’t on crates.io are now covered by crater!

bindgen

rust-lang-nursery/rust-cookbook Covers 24.11.2017 - 20.12.2017.

rust-lang-nursery/simd

  • @gnzlbg for amazing work maintaining and improving stdsimd.

Other


#2

Thank you for mentoring from @budziq and @ludwigpacifici! Definitely learned a lot in the process


#3

Thank you for the impl period.

Thank you to all the mentors and collaborators for putting in the time and effort for setting up well defined tasks, reviewing, feedback and helping along the way! I hope other projects also follow suit!

Although I personally played a tiny part in this impl period, I feel very welcome and I’m left wanting to contribute more! Thanks @fitzgen for your help and feedback.

I hope there will be more such impl periods.