Hello and welcome to another issue of This Week in Rust! Rust is a systems language pursuing the trifecta: safe, concurrent, and fast. This is a weekly summary of its progress and community. Want something mentioned? Send me an email! Want to get involved? We love contributions.
What's cooking on master?
74 pull requests were merged in the last week.
So just dumping the breaking change log raw didn't really work out last time.
The complete log is available
here, and you can view it
git log --grep 'breaking-change' --since 6/7/2014 --until 6/14/2014.
I've chosen some particular breaking changes I think are more-breaking than
~[T]has been 100% removed from the language. To create a
Box<[T, ..N]>, however, you temporarily need to do
box () ([1, 2, 3]), rather than
box [1, 2, 3], which will work in the future.
- Patterns that shadow themselves are no longer
allowed, for example
let (a, a) = (1, 2);
- Some features have been
format!, namely pluralization and select, and escaping them has changed somewhat to no longer use
- The "stronger guarantees for mutable borrows" RFC has been implemented.
@-syntax has been removed entirely. Together with
~[T], this marks the end of the tyrannical rule of sigils!
transmuteno longer casts between types which have type parameters.
PartialEqdocs have been revised for clarity and correctness.
- The identifier name lint now gives suggestions on what you could rename your identifier to.
- The loadable syntax extensions work has been generalized to more arbitrary compiler plugins.
- Function call overloading is now implemented, as part of the unboxed closure work.
- Unused struct fields are now
detected by the
- The docs are now built with relative links, letting local, off-line copies work as expected.
libsyncis now underneath
- Debuginfo type identifiers are now unique, cross-crate fixing debuginfo with LTO.
- The results of compiler analysis can now be dumped to CSV, which the DXR tool will use.
- Rotates and byte swaps are now
exposed as nice methods on the
- Michael Reinhard
- Renato Riccieri Santos Zannon
- Renato Zannon
- Valentin Tsatskin
- Zach Pomerantz
- Unboxed closures, the unboxed closures RFC to rule them all.
- Removing integer inference fallback
- Feature gate import shadowing
- Overloaded arithmetic and logical operators should take
selfand their arguments by value
- Add support to serialize::json for incrementally reading multiple JSON objects
dokeyword as sugar for nested match statements
- Comparing k-NN in Rust
- Error handling in Rust: a k-NN case study
- Los Angeles Rust meetup
- AnyMap, "a safe and convenient store for one value of each type".
- Rust By Example now lets you execute code examples on-page.
- Piston game engine progress update
- floor, "a simple and lightweight foundation for web applications written in Rust".
- jit.rs, a libjit wrapper
- stompers, a STOMP client
- Rust nightlies archive
- Rusty Tetris, a tetris clone using Piston
- Introduction to Rust, a talk Ben Striegel is giving in Pittsburgh.