Language
Full report
Last week, we had five RFCs in the final comment period. Of those, two
of them failed to reach consensus one way or the other. For these, it
would be great to have more comments from the community:
-
FCP PR #756: Allow
closure expressions to expand to a
& or &mut temporary. The
discussion here has centered on whether making it easier to write
fns that accept closure objects as arguments is worth making the
expansion of || more complex.
-
FCP PR #873: Allow
macros in types. The discussion here has centered on possible
interactions with hygiene and the question of whether expanding the
current macro system will make it harder to implement fundamental
improvements down the line.
RFC 1156 proposes a change to the defaults for object lifetime
bounds that aims to make them easier to understand and more useful in
practice. Based on discussion last week, RFC 1156 underwent some
evolution. It now proposes a phased deprecation, in which Rust 1.2
issues a warning if it detects code that is relying on the current
defaults, and Rust 1.3 actually makes the change. We’ve decided to
accept this specific RFC. However, the RFC raises more general
policy questions about when such changes might be accepted in the
future, and this conversation will continue in an internals post
(currently being written).
We also decided to accept two smaller RFCs:
-
FCP PR #1052:
Clarify cast rules, especially regarding fat pointers.
-
FCP PR #865:
Update RFC 195 to account for RFC 246.
Due to the fact that there are two RFCs still in FCP from last week,
no new RFCs are entering final comment period ths week.
— nmatsakis
Libs
Full report
The following RFCs are entering their final comment period:
The following features are entering their final comment period:
Here are the decisions for last week’s FCP items:
Tools
Full report
This was another quiet week for the tools team, but there were a number of
advances made on the MSVC front:
- All rust-lang crates now have CI on MSVC as well as MinGW (using AppVeyor)
- A successful Cargo build using MSVC has been produced, which
primarily involved ensuring all native dependencies work with MSVC (e.g.
libssh2, libgit2, libcurl, miniz, …).
- The update for llvm has finally landed, enabling work to
continue on implementing unwinding for MSVC!
This past week also saw a number of improvements for Cargo land on nightly:
Compiler
Full report