Subteam reports 2015-12-04


#1

Friend of the Tree

This week we’d like to nominate @petrochenkov for Friend of the Tree. Vadim has been doing some absolutely amazing compiler work recently such as fixing privacy bugs, fixing hygiene bugs, fixing pattern bugs, paving the way and implementing #[deprecated], fixing and closing many privacy holes, refactoring and improving the HIR, and reviving the old type ascription PR. The list of outstanding bugs and projects in the compiler is growing ever smaller now; thanks @petrochenkov!

Lang

Full report

We have decided to promote the following RFCs to final comment period:

  • RFC #1384: This RFC amends RFC 550 to includ an abstract specification rather than an algorithm. It is the result of revisiting the code in light of numerous bugs that were uncovered in practice. Note that fixing these bugs is known to break some macros that were found in the wild. Macro authors may wish to read the RFC, or at least look at the list of [regressions found on crater][regr]. (Note that we also plan to amend RFC 550 to be more accepting so to avoid most of those regressions.)

We did not reach firm decisions on the two pending FCP RFCs; but we discussed a number of aspects and posted lengthy comments with our tentative conclusions ([#1129] and [#1196]).

Note: Next week is Mozilla’s company wide “all hands” work week, so we may or may not have a meeting and will likely not have any subteam report.

Compiler

Full report

This week there was a fair amount of triage and discussion of the high priority bugs below.

One issue that was raised, but not firmly settled, was what the policy ought to be towards breaking changes in libsyntax. Clearly there are a number of people “in the wild” who rely on libsyntax, and so some amount of consideration is warranted, and yet just as clearly we need to continue to evolve that crate – and in some cases dramatically – as the compiler evolves. It’s not clear yet if there is a satisfactory middle-ground.

Libs

Full report

This week the team made decisions on stabilizations for the 1.6 cycle. The decisions are as follows, with more detail available in the linked issues:

These changes will ship in the 1.6 beta being cut next week.

Tools

Full report

With Thanksgiving last week and the 1.5 release just around the corner this was a quiet few weeks for the tools team, but that doesn’t mean exciting things weren’t happening!

  • @brson’s been working on getting a port of Rust to work with Emscripten, and initial results are promising with “hello world” already working!
  • Support has landed in Cargo to allow build scripts to explicitly specify their file dependencies. This should reduce the number of rebuilds seen because Cargo reruns a build script.
  • The libc crate now tests against rumprun, becoming the first BSD platform to have automation verifying the definitions in libc.
  • The deadline for returning a hard error from publishing crates with a wildcard version has been pushed back as the Cargo warning will be released with 1.5.