We’re gonna to be joined by not one, but two other Rust groups: Rome and Cambridge! Come join the 20 Rustaceans already signed up for this free event! https://www.meetup.com/Rust-London-User-Group/events/242378000/
Important changes/new features:
- A call to
joinable!is needed to indicate two tables can be joined. It is added automatically by
infer_schema!and is now part of the output of
- You can alias column names, e.g. to make them valid Rust identifiers (again, schema inference does this automatically for you by appending an underscore)
- Schema inference will now generate doc comments. You can get the same with output with
diesel print-schema --with-docs
- New type support: Decimal, Blob, and Datetime for MySQL, Range types for Postgres
More details in the changelog.
The official Rust FAQ needs some love. It hasn’t seen any serious updates since it initially launched, and it doesn’t cover a variety of areas that it should.
So, just like when the FAQ was first being worked on, we’re looking for suggestions for questions that should be added!
Please come share your ideas on the Rust user forum!
Updated cargo-bump to have an accurate README.md and some minor code edits to make my new best friend, Clippy, happy. If you find editing your Cargo.toml to increase version numbers tedious, then this is the cargo extension for you: https://crates.io/crates/cargo-bump
Yesterday was the last day of my Rust internship at Mozilla. I can hardly believe that twelve weeks have passed since I started, but my calendar insists.
Some weeks ago, I described Types as Contracts as an approach for how to go about defining Rust’s aliasing-related undefined behavior. One key property of this approach is that it is executable, which means we can actually have a program (in this case, miri tell us whether some particular Rust test case exhibits undefined behavior or not. I have since then spent most of my time completing and refining this implementation, and running it on miri’s test suite to exercise various bits of the standard library and see whether they are actually following the rules I have been suggesting.
This post is my report on what I found, and how the approach itself changed in response to these findings. It also explains how you can run miri yourself and have it check your code for undefined behavior according to this model. Finally, I discuss some of the things that I would like to look at going forward.
Let’s meet for open hacking and collaborative learning in our group.
A Webinar in Spanish about building apps with Rocket about to start
I’ve been following Bob Nystrom’s Crafting Interpreters for a while now, and decided to follow along using Rust instead of java or c.
This is Rust-relevant, as it is directly tied to my inspiration to create the Robigalia project, which is currently the community where any public Rust + seL4 work is done. I think Robigalia will probably be more practical/pragmatic/less opinionated than my ideal, but I want it to be possible for it to serve as a prototype for something with similar properties as the ideal system.
zVault is a new deduplicating backup solution that I have written from scratch. It features strong fingerprint based deduplication, compression, client-side encryption and remote storage. The project is still in a pretty early stage and all feedback and help will be highly appreciated.
The Herald received a few updates, most notably, you now need to confirm you Twitter account.
We’ll be at Code|Node (near London Liverpool Street Station). We meet at 6:30PM, join us for a night of Rust and Revelry!
I extracted a tiny example to present how Rust compiles generics from our Rust course and put it on godbolt. It may sound simple, but this tends to be a source of confusion at courses: traits get compiled down to static function calls.
I recommend following the colors and the naming scheme.
The Rust team announces a new outreach initiative, providing mentoring and guidance on Rust specific subjects.
Feel free to apply!
titlecase is a small tool that capitlizes English text according to a style defined by John Gruber for post titles on his website Daring Fireball. It is handy for writing blog posts, READMEs, etc. to ensure a consistent style. This release includes efficiency improvements, better documentation, and error reporting on stderr. Prebuilt binaries are available for Linux, macOS, FreeBSD, NetBSD, and Windows.
Released version 0.1.2 of systemstat, a crate that lets you get system info like CPU load, memory usage, network interfaces, battery life, etc.
Please send pull requests for OS compatibility — currently there’s no support for macOS, NetBSD, DragonFlyBSD and illumos :)