This Week in Rust
Welcome to another issue of This Week in Rust.
What’s cooking on master?
Only 63 PRs were merged this week. Currently in the queue is the massive
privacy change, the path rewrite, enum descriminant shrinking, a
rework, a lock-free scheduler message queue, and libuv signal bindings.
floathas been removed from the language.
loophas been removed. The transition to
- A macro ignoring tokens now throws an error rather than silently ignoring it.
IntConvertiblehas been replaced with
FromPrimitive. This also heralds the ability to derive to/from int methods on enums.
rustpkgcan fetch remote packages again.
- A bunch of unsafe code surrounding logging has been remove.
- A bunch of work was done to make more things immediate. A bugfix, small tuples, small enums, and unit/C-like enums.
- A bunch of work went into decreasing our memory usage. The massive spike at the beginning has been fixed. The tcx (type context, holds the result of all compiler analysis) is also free’d before translation now, reducing memory usage by a good 500+ MB. Another cache during constant evaluation reduces memory usage by 200MB.
- We’re now bundling our dependencies on Windows, making it easier to bootstrap and to setup a working Rust environment.
- All of the really old obsolete syntax checkers have been removed.
- Hyperlinking between crates is now reimplemented in rustdoc.
- Gearing up for its removal, all
fmt!usage in the compiler has been removed.
The weekly meeting discussed a bunch of proposed changes, including rustpkg submodules, removing float (which has already happened), raw string literals (which have a patch almost finished), and the changes to the Option API.
- ncurses-rs – a safe wrapper that keeps the same ncurses interface you know and “love”, but more rustic.
- The Rusticon – A living glossary of Rust terms.
- A production use of Rust!
- Understanding the Servo Strategy - The Servo presentation given at the various Mozilla Summits
- Dynamic Typing implemented as a library - a pretty cool use of our reflection.
- Running Rust Tests on Travis CI.
- Rust bindings for FUSE
Haven’t had a meetup section in a long time, but two are forming!