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
- Rust-101. A hands-on Rust tutorial.
- The glium library. Challenges in exposing a safe API over an unsafe C library.
- Building an iOS App in Rust, Part 2: Passing Primitive Data Between Rust and iOS. Read Part 1 here.
- Mozilla’s Servo Lets Rust Shine.
- Three months of Rust.
- Configuring Emacs for Rust.
- Dissecting Crates.io: Bare Minimum Mirror.
- Using Docker to Test Rust on Linux.
- Community Versions for Rust.
- Virtual Structs Part 3: Bringing Enums and Structs Together.
- Parser Combinator Experiments in Rust.
- Closures as Anti-Lifetime-Gluteal-Bite-Device.
New Releases & Project Updates
- Rust by Example now tracks stable Rust, uses container-based Travis infrastructure, and is tested against all three channels.
- A comparison of web frameworks written in Rust.
- octavo. Highly modular & configurable hash & crypto library written in pure Rust.
- Ammonia. A whitelist-based HTML sanitization library.
- mm. General purpose math and multimedia libraries.
- etcd. A Rust client library for etcd.
- proc. A Rust library for accessing Linux process and system information.
- scoped-threadpool-rs. A library for scoped and cached threadpools.
- imgui-rs. Rust bindings for ImGui.
What's cooking on nightly?
86 pull requests were merged in the last week.
New Contributors
- jotomicron
- Marc-Antoine Perennou
- Martin Wernstål
Approved RFCs
Changes to Rust follow the Rust RFC (request for comments) process. These are the RFCs that were approved for implementation this week:
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:
- Policy for rust-lang crates.
- Stabilize
catch_panic
. CoerceUnsized
should ignorePhantomData
fields.- Turn statically known erroneous code into a warning and continue normal code-generation.
- Define a "line" as terminated by either
\n
or\r\n
. - Pretty print
Debug
of tuples, tuple structs and enum variants in a single line. - Add item recovery collection APIs.
- Allow a
x...y
expression to create an inclusive range. - Implement raw fat pointer comparisons.
- Add the family of
[Op]Assign
traits to allow overloading assignment operations likea += b
.
New RFCs
- New
str
andString
API. RawOs
marker traits.- Missing edge-case when destructuring.
- Splitting variants of
str::starts_with
andends_with
. - Add a lint to warn about negative literal / method call precedence.
- Add
CStr::from_bytes
.
Upcoming Events
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
"unsafe
is as viral and pernicious as pop music, though obviously not as dangerous." — Daniel Keep at TRPLF.
Thanks to llogiq for the tip. Submit your quotes for next week!.