Subteam reports 2015-12-21


#1

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.

#2

I tried the perf-rustc tool but I always get SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data.


#3

Maybe @nrc can help? Relatedly, I’d love to move this infrastructure into the rust-lang org and allow the entire community to help grow it!


#4

Bah, I’ve been somewhat plagued by these problems - you could try disabling/enabling different benchmarks - there’s often one with malformed JSON data. I’ll try and fix properly ASAP.


#5

I think I just needed to restart the backend, seems to be working now. Let me know if you still have problems.