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!

was released! lazy_static 1.0 was released!

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. thanks to @spastorino, @Nashenas88, and @nikomatsakis

lands, we will have support for 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

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)

reference variables that are overwritten (e.g., when iterating down a linked list) @mikhael-m1 continues to work on improving support for slice patterns

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.

, 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

@pietroalbini landed support for nested import groups

WG-compiler-errors

@zackmdavis improved diagnostics around .. within struct literals

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

@wesleywiser has put a lot of effort into prototyping and testing some optimizations for the dependency tracking system in #45873 and #46068.

@CrockAgile has updated all remaining incr. comp. hashing tests in #46523.

remaining incr. comp. hashing tests in #46523. @Yoric has implemented background-loading of the dependency graph in #46560.

@michaelwoerister made many small and some quite big PRs in order to make incremental compilation ready for stabilization in #46111, #46299, #46338, #46368, #46370, #46400, #46427, #46562, #46556, #46811, and #46562.

Crater

Covers 25.11.2017 - 17.12.2017.

@alanhdu dragged crater to the present day by upgrading all dependencies in this PR.

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