Subteam report: tools 2015-12-18
Highlights
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-roothas been implemented, so custom LLVM installations with odd configurations should work more robustly.
Dashboard
High priority issues
- Issue #19286: Move automation off mac minis, onto macstadium
- Cargo Issue #782: Resolve errors are likely quite obscure
- Cargo Issue #942: Allow top-level overrides to be stored in the manifest
- Cargo Issue #1007:
Need ability to add dependencies based on
#[cfg()] - Cargo Issue #1098: Externally discover the source directories of dependencies?
- Cargo Issue #1251: Build dependency awareness
- Cargo Issue #2064: Cargo is overeager to pull in multiple copies of a crate
Issues needing a decision
- Issue #29815: Warn must_use in tuple
RFC phase
- FCP PR #1296:
RFC: Add an
aliasattribute to #[link] and -l - FCP PR #1361: RFC: Improve Cargo target-specific dependencies
- PR #1133: Make Cargo aware of standard library dependencies
- PR #1284: Machine-readable output of tests
- PR #1317: Changes to the compiler to support IDEs
- Issue #635: Use benchmarks to set up a website tracking rust performance
- Issue #648: separate rust-format or rustfmt tool that does the pretty-printing
- Issue #816: Custom test frameworks
- Issue #1061: Rust, Windows, and MSVC