Hello and welcome to another issue of This Week in Rust! Rust is a systems language pursuing the trifecta: safety, concurrency, and speed. This is a weekly summary of its progress and community. Want something mentioned? Tweet us at @ThisWeekInRust or send us an email! Want to get involved? We love contributions.
Updates from Rust Community
News & Blog Posts
- Everything you need to know about cross compiling Rust programs.
- Deep learning in Rust: Baby steps.
- BigData & Rust, part 3. A comparison of data serialisation formats.
- Rust's memory management for C/C++ programmers.
- How Stateful cheats at analysis. Stateful is a Rust experimental syntax extension for generators and more.
- This week in Servo 49.
- This Week in Amethyst 3. Amethyst is a data-oriented game engine written in Rust.
Notable New Crates & Project Updates
- PSA: If you used these particular cargo nightlies, you need to reupload published crates.
- Diesel has added support for SQLite3.
- RustType. A pure Rust alternative to libraries like FreeType.
- crates.fyi - Documentation generator for crates released in crates.io.
- Pippin. A distributed-merge capable database for many small objects.
- Pijul. Distributed version control system written in Rust.
- Zipper. ZIP file parser written in Rust.
Updates from Rust Core
121 pull requests were merged in the last week.
- Don't make atomic loads and stores volatile.
- Emscripten support take 2 (with bonus i686-unknown-linux-musl).
- Remove MutexGuard::map, as it is not safe in combination with Condvar.
- Avoid quadratic growth of functions due to cleanups.
- Abort on stack overflow instead of re-raising SIGSEGV.
- Fix the armv7 linux target.
#[repr(i32)]for univariant enum.
- Add Illumos support.
- Alexander Lopatin
- Brandon W Maister
- Nikita Baksalyar
- Paul Smith
- Prayag Verma
- Reeze Xia
- Ryan Thomas
- Sandeep Datta
- Sean Leffler
Changes to Rust follow the Rust RFC (request for comments) process. These are the RFCs that were approved for implementation this week:
- RFC 243: Trait-based exception handling.
- RFC 1445: Restrict constants in patterns.
- RFC 1359: Add
- Amendment to RFC 1270: Describe actual implementation.
Final Comment Period
- Deprecate type aliases in
- Rust Language Server (IDE support).
- Add a
- Propose a design for specialization, which permits multiple
implblocks to apply to the same type/trait.
- Let specified generic type parameter lists be abbreviated.
- Add a
IndexAssigntrait that allows overloading "indexed assignment" expressions like
a[b] = c.
- Add a new
kind=better_staticthat is used to link static libraries by passing them to the linker.
- Permit the
..pattern fragment in more contexts.
- 2/10. OpenTechSchool Berlin: Rust Hack and Learn.
- 2/10. Rust Boulder/Denver Monthly Meeting.
- 2/11. Columbus Rust Society.
- 2/12. Embedded Rust Workshop Frankfurt.
- 2/15. Rust Paris.
- 2/15. Rust Sydney Meetup.
- 2/16. San Diego Rust: Eat– Drink– Rust! Downtown Rust Meetup.
- 2/17. Rust Los Angeles Monthly Meetup.
- 2/17. Rust Berlin: Leaf and Collenchyma.
- 2/18. Rust Hack and Learn Hamburg @ 4=1.
fn work(on: RustProject) -> Money
- Research Engineer - Servo at Mozilla.
- Senior Research Engineer - Rust at Mozilla.
- PhD and postdoc positions at MPI-SWS.
Tweet us at @ThisWeekInRust to get your job offers listed here!
Crate of the Week
The week's Crate of the Week is roaring, the Rust version of Prof. D. Lemire's compressed bitmap data structure. I can personally attest that both the Rust and Java versions compare very favorably in both speed and size to other bit sets and are easy to use.
Thanks to polyfractal for the suggestion.