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.