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 rand
rework, a lock-free scheduler message queue, and libuv signal bindings.
Breaking Changes
float
has been removed from the language.loop
has been removed. The transition tocontinue
is complete.- A macro ignoring tokens now throws an error rather than silently ignoring it.
IntConvertible
has been replaced withToPrimitive
andFromPrimitive
. This also heralds the ability to derive to/from int methods on enums.
Everything Else
rustpkg
can 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.
Weekly Meeting
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.
Announcements
- 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
Meetups
Haven't had a meetup section in a long time, but two are forming!