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.
From the Blogosphere
- The New MongoDB Rust Driver.
- Lock-freedom without garbage collection.
- SIMD in Rust.
- An Optimising BF Compiler. Writing a highly optimised Brainfuck compiler in Rust.
- Another Year With Conrod. An update on Conrod - a GUI written in Rust.
- Learning Rust Modules (from a C# developer's perspective).
- Parser Combinator Experiments in Rust - Part 2: Error handling.
New Releases & Project Updates
- Rust web framework comparison. A comparison of some web frameworks written in Rust.
- eco. A tool for reasoning about breaking changes in Rust ecosystems.
- mioco. Scalable, asynchronous IO coroutine-based handling for Rust (aka MIO COroutines).
- cargo-vendor. Cargo subcommand to vendor crates.io dependencies.
- regex-dfa. Proof of concept for fast regexes in Rust (a regex -> DFA compiler).
- rust-gc. Simple tracing (mark and sweep) garbage collector for Rust.
- torch. Generate CPU FlameGraphs based on DWARF Debug Info.
- libwebpki. Web PKI Certificate Validation in Rust.
- sokoban-rs. An implementation of Sokoban in Rust.
- urdict. Command line client for Urban Dictionary.
- power-assert-rs. Power Assert in Rust. Provides better assertion message.
- rust-passert. Pretty/Power assertion macros for Rust.
- colerr. Wrap a given process and colorize it's standard error output.
- minesweeper-rs. Simple minesweeper in Rust.
What's cooking on nightly?
104 pull requests were merged in the last week.
- Adam Crume
- Artem Shitov
- Cesar Eduardo Barros
- Daan Rijks
- Jake Shadle
- Matěj Grabovský
- Michael Choate
- Nikolay Kondratyev
- Overmind JIANG
- Tim JIANG
Changes to Rust follow the Rust RFC (request for comments) process. These are the RFCs that were approved for implementation this week:
- RFC 1212: Change all functions dealing with reading "lines" to treat both '\n' and '\r\n'.
- RFC 1242: Policy for rust-lang crates.
- RFC 1194: Add item recovery collection APIs.
- RFC 1236: Stabilize
Final Comment Period
- Add the family of
[Op]Assigntraits to allow overloading assignment operations like
a += b.
- Implement raw fat pointer comparisons.
- Expand the
std::netmodule to bind more low-level interfaces.
- Allow a
x...yexpression to create an inclusive range.
&'static mut T.
- Forbid wildcard dependencies on crates.io.
- Add a new
ToOpttrait and have
macro_rules!should support gensym for creating items.
.drain()respectively as appropriate on collections.
- UX guidelines for the Rust compiler.
- [TRPLF] Pauseless Concurrent Garbage Collector.
fn work(on: RustProject) -> Money
No jobs listed for this week. Tweet us at @ThisWeekInRust to get your job offers listed here!
Quote of the Week
"And God said, Noah you must transport these animals across a large body of water... but they are not Send. And Noah replied, I shall build a great Arc!" — durka42 on #rust