Compiler
Full report
The meeting was mostly triage, but some recent PRs of note include:
- further progress on MIR: #30337, #29907
- a big overhaul of the privacy rules which fixed a large number of bugs: [#29773]
- a preliminary type ascription PR: #30184
Lang
Full report
This week we decided to merge
RFC 1384, which is a
clarification and extension of the macro forwards compatibility rules.
Libs
Full report
This week we decided on unstable APIs to move into FCP for the 1.7 cycle:
In addition, we accepted the custom panic handler RFC:
Tools
Full report
Rust 1.5 Released!
Although the actual release was last week, it’s worth giving extra
thanks to @brson again for prep’ing the release and make sure all the artifacts
are in order!
Rustfmt
There’s been steady progress on Rustfmt, it’s now a very capable tool -
indicated by it’s recent promotion to the rust-lang-nursery repo. You should
try it out, and doing so is now easier than ever thanks to some recent PRs from
the community:
# To install
cargo install rustfmt
# To run on a Cargo project
cargo fmt
Or check out the source code at https://github.com/rust-lang-nursery/rustfmt
Refactoring
Garming Sam (@GSam) has been working on a refactoring tool for Rust. Adolfo
Ochagavía (@aochagavia) will be working on more refactorings for his final year
project next year and has already got stuck in with a big PR bringing the code
up to date. Check out the source at https://github.com/GSam/rust-refactor.
Macros
Daniel Campbell is conducting a summer research project on improving Rust’s
tool support for macros. This is mainly focused on compiler support. The first
visible changes will be making DXR macro-aware. This work will be useful in the
future for IDE support and static analysis tools.
Benchmarking compile time
If you’re interested in our compile times, check out
http://www.ncameron.org/perf-rustc/. We’re tracking compile time and memory use
for every phase of compilation on a number of benchmarks and the compiler
bootstrap.
Landed PRs
- The Windows SDK detection code has been updated to more closely
match what VS does and work with the newest release of VS.
-
Better support for
--llvm-root has been implemented, so custom
LLVM installations with odd configurations should work more robustly.