All about Rust

A half-hour to learn Rust

 https://fasterthanli.me/articles/a-half-hour-to-learn-rust

Tutorials

Learn Rust by reading many small snippets explaining keywords and symbols.


caniuse.rs

 https://caniuse.rs/

Datasets | Tools

caniuse.rs shows which library functions where stabilized in which Rust version.


Elements of Rust by Ferrous Systems

 https://github.com/ferrous-systems/elements-of-rust

Cheatsheet

A collection of software engineering techniques for effectively expressing intent with Rust.

The repository contains some problems which can be encountered with Rust and explains some solutions for them.


Evcxr: Rust Interpreter and Jupyter Kernel

 https://github.com/google/evcxr

Tools

Evcxr is a Rust interpreter and also provides a Jupyter kernel. This is a helpfull addition to the online playground as it allows installing and using any crate.


explain.rs

 https://jrvidal.github.io/explaine.rs/

Tutorials

explaine.rs is an interactive playground to explore the syntax of the Rust Programming Language.

You can write any Rust code in the editor and the analyzer will allow you to click/tap on different keywords, punctuation elements and other bits of code and help you understand what they mean.


Let's get Rusty

 https://docs.google.com/document/d/1kQidzAlbqapu-WZTuw4Djik0uTqMZYyiMXTM9F21Dz4

Cheatsheet

The cheat sheet shows in many code snippet how to do things.

An older version of the cheat sheet is available as PDF. https://letsgetrusty.com/wp-content/uploads/2021/10/LGR-Cheat-Sheet.pdf

The cheat sheet is produced by https://letsgetrusty.com/ and requires registering to get access.


List of crates that improves or experiments with Rust

 https://users.rust-lang.org/t/list-of-crates-that-improves-or-experiments-with-rust-but-may-be-hard-to-find/17806

Cheatsheet

The URLO thread has a very extensive list of Rust crates. The list contains good, more or less well-known crates, each with a tiny description.


List of JSON to Struct Converters

JSON | Tools

These websites provide tools, which convert JSON data to structs in different programming languages.


Pin and suffering

 https://fasterthanli.me/articles/pin-and-suffering

Cheatsheet | Tutorials

In the Pin and suffering article the author fasterthanlime explains how to implement async functions in Rust. The article starts by implementing an async function and the problem of calling blocking functions. It continues with instructions how working with Pin and Unpin futures. At the end the article explains how all of the above can be done without using the syntactic sugar of async functions.


Programming Playgrounds

Python | Tools


Rust API Guidelines

 https://rust-lang-nursery.github.io/api-guidelines/checklist.html

Cheatsheet

The Rust API guidelines explain conventions around naming, interoperability, and documentation for libraries. It provides a helpful checklist for all important points.


Rust Case Studies

 https://github.com/dtolnay/case-studies

Tutorials

This repository showcases some examples of tricky Rust code that I have encountered during my years working with a variety of advanced macro libraries in Rust (my own and others').


Rust Cheat Sheets

Cheatsheet


Rust Cookbook

 https://rust-lang-nursery.github.io/rust-cookbook/

Cheatsheet | Tutorials

The Rust Cookbook describes tiny common tasks you might want to do and shows how to solve them in Rust. It introduces many usefull crates, which are widespread in the Rust ecosystem, but can also be used to look up solutions to common problems.


Rust Macro Railroad

 https://lukaslueg.github.io/macro_railroad_wasm_demo/

Cheatsheet | Tools

Helps in understanding macro_rules macros by automatically generating syntax diagrams for them.


Rust practice.rs

 https://practice.rs/

Tutorials

The website provides tiny interactive tutorials to teach individual Rust concepts. Each tutorial is a tiny runable Rust snippet. The snippet can be executed directly on the website, providing instant feedback.


Rust Regex Explanations and Testing

 https://bestia.dev/rust_regex_explanation_pwa/

Tools

The Academic Phrasebank is a general resource for academic writers. It aims to provide you with examples of some of the phraseological ‘nuts and bolts’ of writing organised according to the main sections of a research paper or dissertation.

The data bank contains the categories “Introducing Work”, “Referring to Sources”, “Describing Methods”, “Reporting Results”, “Discussing Findings”, and “Writing Conclusions”.

This is esentially regexr for Rust.


Rust Teaching Material

 https://ferrous-systems.github.io/teaching-material/index.html

Cheatsheet

Ferrous Systems creates a large set of presentations explaining basic Rust concepts. They cover the basics like different Rust types, more advanced features like generics and dynamic dispatch, and also include a set of training assignments.

The presentations are all available on GitHub too: https://github.com/ferrous-systems/teaching-material


Rustexp

 https://rustexp.lpil.uk/

Tools

Rust regulat expression editor and tester.


Take your first steps with Rust

 https://docs.microsoft.com/en-us/learn/paths/rust-first-steps/

Tutorials

First steps with Rust guide by Microsoft. It starts with the basics of installing the tools, the first program and continues with error handling, traits, and test writing.


The Little Book of Rust Books

 https://lborb.github.io/book/

Cheatsheet

"The Little Book of Rust Books" provides a overview over other Rust books. It covers official books such as "the booK" or the cargo guide and also unofficial books like the Rust cookbook or the serde book.


Tour of Rust

 https://tourofrust.com/

Tutorials

Welcome to the Tour of Rust. This is meant to be a step by step guide through the features of the Rust programming language. Rust is often considered a language with a steep learning curve, but I hope I can convince you there's a lot to explore before we even get to complex parts.

The Tour of Rust is available in many languages.


Unpacking Serde by Erich Gubler

 https://www.reddit.com/r/rust/comments/g6ubuv/unpacking_serde_a_series_of_presentations_i_made/

Presentation about the basic usage of Rust's serde in three parts: