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.
This Week in Rust is openly developed on GitHub. If you find any errors in this week's issue, please submit a PR.
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.
New Contributors
- Adam Crume
- Artem Shitov
- Cesar Eduardo Barros
- Daan Rijks
- Jake Shadle
- Matěj Grabovský
- Michael Choate
- Nikolay Kondratyev
- Overmind JIANG
- Tim JIANG
Approved RFCs
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
catch_panic
.
Final Comment Period
Every week the team announces the 'final comment period' for RFCs and key PRs which are reaching a decision. Express your opinions now. This week's FCPs are:
- Add the family of
[Op]Assign
traits to allow overloading assignment operations likea += b
. - Implement raw fat pointer comparisons.
- Expand the
std::net
module to bind more low-level interfaces. - Allow a
x...y
expression to create an inclusive range. - Add
Box::leak
to leakBox<T>
to&'static mut T
. - Forbid wildcard dependencies on crates.io.
New RFCs
- Add a new
ToOpt
trait and havebool
implement it. macro_rules!
should support gensym for creating items.- Implement
.drain(range)
and.drain()
respectively as appropriate on collections. - UX guidelines for the Rust compiler.
- [TRPLF] Pauseless Concurrent Garbage Collector.
Upcoming Events
- 9/2. Rust Berlin Hack & Learn.
- 9/14. Seattle Rust Meetup.
- 9/15. San Diego Rust Meetup #8.
If you are running a Rust event please add it to the calendar to get it mentioned here. Email Erick Tryzelaar or Brian Anderson for access.
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
Thanks to tomprogrammer for the tip. Submit your quotes for next week!.