The Rustacean Station Podcast

This Week in Rust - Issue 343

Episode Page with Show Notes

Nell Shamrell-Harrington: Hello everyone! Welcome back to the This Week in Rust podcast, covering issue 343 of the This Week in Rust newsletter.

As always, I’m Nell Shamrell-Harrington, lead editor of This Week in Rust and a Sr. Staff Engineer at Mozilla on the Rust team.

This week’s issue starts off with several community related announcements. Due to the ongoing COVID-19 pandemic, several Rust events planned at the beginning of the year had to be altered.

The Rust community team has published a blog post with an updated listing of Rust events in 2020. Curious about the state of a certain event? Take a look at the blog post for more information.

In breaking news, the organizers of Rustfest in the Netherlands have announced a new online conference: RustFest Global 2020. Additionally, registration for RustConf, taking place on August 20, 2020, is now open. RustConf will feature several fantastic speakers from the Rust community and will be MC’d by your’s truly.

Joe Previte has published a new blog post that is useful to new and experienced Rust devs alike — a comprehensive overview of the Rust ecosystem. Take a look for a thorough guide to Rust tools, the Rust community, Rust packages, platforms, and tools, and so much more. Thank you to Joe for creating this reference to make navigating the Rust ecosystem easier for all of us.

One of my personal favorite articles in this week’s issue is “Errors in Rust: A Deep Dive” written by Ivan Oštrić. They start out with an overview of error handling in other languages and point out that most languages treat errors as an accidental byproduct. Rust, on the other hand, quote “treats errors as first-class citizens, as equal in importance as any other data type. In fact errors ARE data types, and its handling is enforced as compile time. You literally can not compile a Rust program that does not handle all of the errors that might pop up” end quote. The article then goes on to look at several common patterns of handling errors in Rust.

If you are interested in using Rust with embedded programming, definitely give Luke Arntz’s article “Getting Started With The STM32 Nucleo-F302R8 and Rust” a read. Learn how they used Rust to program a board using the STM32 microcontroller.

In other news, Rustls, a modern TLS Library written in Rust, recently received and published a formal Security Review and Audit report. Give the full report a read for an understanding of the reviewers testing methodology and how Rustls performed on those tests.

As far as audio and video content go, make sure to listen to the latest episode of “Are We Podcast Yet?” where they interview Tim McNamara — author of the new book “Rust in Action.”

If you are curious about Jupyter notebooks — which are interactive computational environments where you can combine code execution, rich text, mathematics, plots, and rich media — be sure to watch the “Rust Notebooks (Jupyter and Evcxr) — Getting Started” video by Dr. Shahnin Rostami.

This week’s call for participation section features a GitHub issue on Rust itself. If you have been wanting to contribute to Rust, that is a great place to start. There is also an issue from the gooseberry project, which is a command line interface to generate a knowledge-base wiki without having to actually type your knowledge out. Have a look and get those pull requests in!

No RFCs were approved this week and no RFCs are in final comment period. However, a new RFC was proposed this week - one to add the Freeze trait to libcore/libstd.

Freeze is a new marker trait, similar to Send and Sync, that is intended to only be implemented for types which have no direct interior mutability, and are therefore safe to place in read only memory.

For more information and to follow the discussion, make sure to go to the RFC link listed in the show notes.

A few tracking issues and pull requests are in final comment period this week — one adds Windows system error codes that should map to the input output error kind timed out. And the other takes advantage of changes introduced in Rust 1.41.0 to implement the PartialEq trait on more types. For full details, make sure to take a look at the links in the show notes.

As far as events go, we have several upcoming remote events out of Zurich Switzerland, Turin Italy, Edinburgh [EDIN-BURROW] Scotland, and Berlin Germany. Since they’re online, why not tune into them and meet Rust developers from around the world?

There are also a few meetups that, according to their meetup pages at the time of this recording, may be meeting in person, including in Vancouver British Columbia, Durham North Carolina, and Dallas Texas. As always, please make sure to check the meetup page before you leave for the meetup in case it is moved online or elsewhere.

And that’s all for this week’s podcast. Make sure to read the newsletter for even more great Rust content.

This Week in Rust is edited by myself, Andre Bogus, and Colton Donnelly. This week’s contributors included, using their GitHub usernames, Dns2utf8, Jsjoeio, Shinokada, and hmble

Thank you so much to everyone who contributes to This Week in Rust, you are the reason we can get this newsletter out and I can do this podcast every week!

I will be back next week bringing you more of the wonderful news from the wonderful world of Rust. Until then, please take care.