Rust Resources
by [lockbox]Table of Contents
Tools for CI
- cargo-update
- cargo-deny
- cargo-license
- cargo-nextest
- cargo-llvm-cov
- git cliff
- kani checker
- miri
- bolero
- cargo-valgrind
- cargo-tarpaulin
- loom
- cargo-shuttle
Cute Rust Patterns
- Russian Dolls and clean Rust code
- Elegant Library API’s in Rust
- Using traits as labels
- Hexagonal Architecture in Rust
- Single Abstract Method Traits
- Can Rust prevent Deadlocks
- Understanding tracing’s macros by buliding them from scratch
- Nine rules for writing python extensions in rust
- Nine rules for creating fast, safe, compatible data structures in rust (series)
- a lot of the articles from this guy are meh, but starting out this one actually helped me
Protocol patterns
State Machine Patterns
Zero-Cost Abstractions
- Programming a microntroller at four levels of abstractions
- Rust embedded book ZCA
- Rust embedded book Static Guarantees
- Bringing Runtime checks to Compile time
Blog Posts
- Cheap tricks for high-performance Rust
- Ampersand driven development
- Intro to Declarative Macros
- Ergonomic Extractors
- Exercises to accompany the Book
- Baby’s first rust quadtree
- Rust to Webassembly the hard way
- Plugins for Rust: WASM
- Public github python package in rust
- Zig vs. Rust
- Walkthrough of the ripgrep project
- rseq in Rust
- build a non-binary tree that is thread safe using rust
- Guide to nom parsing
- Flexible tracing with rust and OpenTelemetry OTLP
- Using kani to verify code
- The problem with safe FFI bindings in Rust
- Unsafe Rust: How and when (not) to use it
- French NSA secure Rust guidelines
- 6 useful rust macros
Libraries to look at again
- parsel
- nom
- rerun
- mirai
- plotters
- perspective
- rhai
- nyx-space
- autometrics
- bilge
- metrics
- static_assertions
- will be more useful as
const
rust gets more powerful
- will be more useful as
- petgraph
- indradb
Practices to help you be more confident in your complex code
- miri + kani for unsafe things
- use `cargo nextest` instead of `cargo test`
- use console for helping debug async
- A flake for your crate
- Code Coverage Examples in Rust
- Github Actions to deploy cross-platform rust binaries