Hello and welcome to another issue of This Week in Rust! Rust is a systems language pursuing the trifecta: safety, concurrency, and speed. This is a weekly summary of its progress and community. Want something mentioned? Tweet us at @ThisWeekInRust or send us an email! Want to get involved? We love contributions.

This Week in Rust is openly developed on GitHub. If you find any errors in this week's issue, please submit a PR.

From the Blogosphere

Are we (I)DE yet?. An overview about the state of Rust development environments and their integrated bretheren.

The Rust by Example lifetime section is updated by mdinger.

cargo-outdated. A cargo subcommand for displaying when Rust dependencies are out of date.

Cargo Darf. Develop, test, run, and deploy Rust as a scripted language.

rustaceans.com. Rust user groups & mailing lists.

New Contributors

Alex Ozdemir

Chris Krycho

Dylan McKay

Elaine "See More" Nemo

Jonas Schievink

llogiq

Nathan Kleyn

Nicholas Seckar

Niranjan Padmanabhan

Tim Neumann

w00ns

Without Boats

Subteam reports

Every week The Rust Team release a report on what is going on in their corner of the project. Here are the highlights from this week's report.

Compiler team

Full report.

Perhaps the most exciting thing going on right now is @huonw's PR implementing the groundwork for SIMD. We've also decided to merge the MIR RFC.

Lang team

Full report.

The following RFCs were promoted to final comment period:

RFC #1229, which specifies that when the compiler is doing constant evaluation as a form of optimization, it should not report compilation errors for overflows or other problems that are encountered (warnings are ok). Otherwise, improvements in the constant evaluator can become breaking changes.

RFC #1234, which modifies the DST coercion rules to permit PhantomData . The discussion has primarily focused on whether we can indeed make the rules even more accepting than that; conclusion was to leave this for future work.

Full list of T-lang RFCs in FCP.

Some fine fellow (ahem) also started a scintillating discussion on the interaction of type parameter fallback with integral fallback started on internals, which would benefit from more eyeballs:

Last week, we had a number of RFCs enter FCP. Unfortunately, we did not reach final decisions on very many of them, due to Felix Klock being out for some well-earned R&R. However, we did merge a few noncontroversial items:

RFC #1209 updates the follow set for types in macros to include ; .

. RFC #1189 fixes some typos.

We also decided to close several RFCs for prioritization reasons, even if the ideas espoused had merit:

RFC 886, allowing "must use" on functions (by @huonw).

RFC 890, custom preludes (by @aturon).

RFC 1216, promote ! to a type (by @canndrew).

Libs team

Full report.

Starting with the current release cycle (for 1.4), we are making some changes to the stabilization process:

All unstable APIs now map to tracking issues. The APIs will be tagged with the issue tracking them, so when you get an error that you need a feature gate, the compiler can also tell you which issue to subscribe to for stabilization. We'll use these issues as a centralized place for discussing questions/concerns about APIs before they are stabilized.

Stabilization will be tied to our 6 week release cycles: at the beginning of the cycle, the team will announce a number of unstable features undergoing "final comment period" (heading either toward stabilization or deprecation). The comment period will last for the entire release cycle. One week before the release is cut, the team will make final decisions and land a PR accordingly.

This new process such give much more visibility into the feature pipeline and make the stabilization process easier to follow.

With that in mind, here are the features undergoing FCP for this cycle:

In addition, this week we made the following decisions:

FCP PR #1195: ordered query API

Close, with the hope that we can find a way to achieve these goals with a smaller API surface

FCP PR #1192: RFC for inclusive ranges with ...

Merge, with the extra field for Iterator being kept unstable for the time being.

Finally, the following RFC is entering FCP this week:

FCP PR #1198: pretty print Debug of tuples, tuple structs and enum variants in a single line

Tool team

Full report.

These past two weeks saw a number of exciting events!

Upcoming Events

If you are running a Rust event please add it to the calendar to get it mentioned here. Email Erick Tryzelaar or Brian Anderson for access.

fn work(on: RustProject) -> Money

No jobs listed for this week. Tweet us at @ThisWeekInRust to get your job offers listed here!

Quote of the Week

"Any sufficiently advanced macro is indistinguishable from magic." — barosl at reddit.

Thanks to nasa42 for the tip. Submit your quotes for next week!.