Compiler
Full report
Some exciting PRs landing this week. First, nrc’s first HIR PR,
which itself doesn’t do much, but hopefully is a modest starting point
for a stable AST API and so forth. Second, the MIR PR by yours
truly looks likely to land, if I can find the time to fix a lingering
issues on Windows. Third, a
small tweak to the trait matching code by arielb1 that yields a
nice little performance improvement.
– nmatsakis
Language
Full report
It’s been a busy week this week! First off, we accepted a number of
RFCs:
We also moved a number of RFCs to final comment period:
-
RFC #1199 – SIMD
groundwork, which describes a flexible set of intrinsics that enable
SIMD computation. These intrinsics are not intended to be used
directly; rather, they are meant to be a foundation for third-party
packages. See also Huon’s
excellent blog post on the topic.
-
RFC #1224 – RFC process,
which helps to clarify when an RFC is needed.
-
RFC #1237 – clarify
operator behavior in extreme conditions, which amends the overflow
RFC with some more specifics documenting various bits of the implementation.
-
RFC #1238 –
nonparametric dropck, which reverts some of the more subtle aspects
of the current dropck rules, helping to restore soundness and pave
the way for specialization.
-
RFC #1240 – creating
references into
#[repr(packed)] structs should be unsafe, as they
can violate alignment requirements and cause crashes.
Thanks!
– nmatsakis
Libraries
We didn’t hold a triage meeting this week so no report for now, but remember that FCP for library issues will be closing next week and we will discuss this at the next triage meeting.
Tools
Full report
Over the past month or so since our last report there have been some excellent
tooling updates, I’ll try to list a bunch below but if any are left out please
let me know and I’ll be sure to add them!
- Custom allocators have landed, allowing projects to customize
precisely which allocator is in use for the compiled binary. This also affects
static and dynamic libraries which now use the system allocator by default
(Rust binaries continue to use jemalloc by default).
- Our bundled version of Hoedown was upgraded to fix a bug where you
couldn’t have a
| character in a table cell.
- The standard library now compiles and passes many tests on a
new
i686-linux-android target.
-
New snapshots for DragonFly were registered to allow
bootstrapping the platform again.
- The initial pass of the HIR has landed, paving the way for future
tooling using the compiler!
-
rustfmt is being used on a few modules in the compiler to test it
out.
-
crates.io now supports GitHub teams for specifying those
who can publish a crate.
- The
--manifest-path option to some Cargo subcommands has been made more
consistent in its behavior.
-
cargo update now prints what was updated.